【问题标题】:Parse date in Java [duplicate]用Java解析日期[重复]
【发布时间】:2015-08-26 16:40:20
【问题描述】:

您好,我正在尝试使用 Java 解析此日期字符串:“Tue Aug 25 14:06:30 2015”。这是我的代码,我在第一行不断收到无法解析的日期错误:

d1 = new SimpleDateFormat("E MM dd HH:mm:ss yyyy").parse("Tue Aug 25 14:06:30 2015");
SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm");

Calendar cal = Calendar.getInstance();
cal.setTime(d1);
String newTime = df.format(cal.getTime());  

【问题讨论】:

  • 检查MM 在您的格式文本中的含义与您想要的含义。另请注意,您应该指定区域设置,可能还有时区。
  • 查看示例here。你可能需要EEE MMM dd HH:mm:ss yyyy

标签: java date simpledateformat


【解决方案1】:

要解析月份的缩写文本,您需要 3 个 M 字符,而不是 2 个字符,后者需要一个数字,例如 08。根据Javadocs for SimpleDateFormat

月份:如果模式字母的数量为3个或更多,则月份被解释为文本;否则,它被解释为一个数字。

试试:

d1 = new SimpleDateFormat("E MMM dd HH:mm:ss yyyy").parse("Tue Aug 25 14:06:30 2015");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-22
    • 1970-01-01
    • 2012-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多