当前位置: 首页 > 知识库问答 >
问题:

Java日期解析异常[重复]

施琦
2023-03-14

我有一个需求,当我把日期从一种格式转换成另一种格式时,我可能会得到一个无法解析的日期异常。下面粘贴了该类的代码

public class DateTester {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        String stringDate  = "Fri Feb 26 14:14:40 CST 2016";
        Date date = convertToDate(stringDate);
        System.out.println(date);
    }

    public static Date convertToDate(String date) {
        SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yyyy");
        Date convertedCurrentDate = null;
        try {
            convertedCurrentDate = sdf.parse(date);
        } catch (ParseException e) {
            // TODO Auto-generated catch block
            System.out.println(e.getMessage());
        }
        return convertedCurrentDate;
    }
}

共有1个答案

萧焱
2023-03-14

使用此格式:

SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy");

代码:

public class StackOverflowSample {
    public static void main(String[] args) {
        String stringDate  = "Fri Feb 26 14:14:40 CST 2016";
        Date date = convertToDate(stringDate);
        System.out.println(date);
    }

    public static Date convertToDate(String date) {
        SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy");
        Date convertedCurrentDate = null;
        try {
            convertedCurrentDate = sdf.parse(date);
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
        return convertedCurrentDate;
    }
}

来源:https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

编辑:如果要返回格式为“MM-dd-yyyy”的日期字符串

public static void main(String[] args) {
    String stringDate  = "Fri Feb 26 14:14:40 CST 2016";
    Date date = convertToDate(stringDate);
    SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yyyy");
    String dateFormatted = sdf.format(date);
    System.out.println(dateFormatted);
}
 类似资料:
  • 问题内容: 我正在尝试用正斜杠替换连字符,但结果是 我具有要转换的必要值,有人可以告诉我为什么它返回错误吗?另外,我想在格式的末尾附加一个,可以吗? 问题答案: 您需要先解析为正确的格式作为输入 然后您可以使用format()以其他格式打印它 并且不要期望类的方法返回格式化值,这是固定的实现

  • 问题内容: 尝试转换日期格式时,出现一个异常:日期不可解析,并且不知道如何解决此问题。 我收到一个表示事件日期的字符串,并希望在GUI中以其他格式显示该日期。 我试图做的是以下几点: 不管怎么说 是假的。我想要以下格式的日期字符串: dd.MM.yyyy HH:mm:ss 输入的String示例如下: 2010-01-04 01:32:27 UTC 有谁知道如何将上面的示例日期(字符串)转换为字符

  • 问题内容: 代码如下所示: 在上面的代码中,抛出不可解析的日期异常: 我不知道原因。 问题答案: 为什么要将日期转换为字符串并将其解析回日期? 代码失败的原因是因为您试图使用仅接受dd-MMM-yyy格式的日期的格式化程序转换完整日期。

  • 问题内容: 我目前正在从事一些简单的项目,并且在以下字符串中有日期: 并希望将此字符串转换为对象。我正在使用以下代码行来做到这一点。我搜索了站点,找到了解决方法: 但是我可能做错了,因为我总是会遇到异常: 这似乎是我正在使用的模式的问题,但尝试了不同的模式,但没有任何效果。 问题答案: 某些字段(例如,星期几字段和/或AM / PM标记)可能与您的默认字段不匹配。具有方法getErrorOffse

  • 当我试图解析发送到android客户端的日期字符串时,我得到了一个不可解析的日期。 这是个例外:

  • 问题内容: 在照顾了几个现有的帖子之后,我仍然无法使我的SimpleDateFormat解析器正常工作。这是代码: 我总是以ParseException结尾。这是调试消息的输出: 06-09 23:52:17.478:DEBUG / DEBUG(2436):java.text.ParseException:无法解析的日期:06-09 23:52:17.478:DEBUG / DEBUG(2436)