【问题标题】:Java SimpleDateFormat parsingJava SimpleDateFormat 解析
【发布时间】:2013-08-15 11:27:01
【问题描述】:

尝试如下解析日期:

String startDate = "Tue May 15 00:00:01 MSK 2012";
SimpleDateFormat parser = new SimpleDateFormat("EEE MMM d HH:mm:ss zzz yyyy");
Date date = (Date) parser .parse(startDate );
String formattedDate = parser .format(date );

我得到这个错误:

08-15 11:18:22.005: W/System.err(1012): java.text.ParseException: 无法解析的日期:“Tue May 15 00:00:01 MSK 2012”08-15 11:18:22.045: W / System.err(1012):在 java.text.DateFormat.parse(DateFormat.java:626)

我该如何解决?

【问题讨论】:

  • 我用这个 SimpleDateFormat 格式解决了我的问题 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");

标签: java android parsing simpledateformat


【解决方案1】:

SimpleDateFormat 默认使用默认语言环境:给定代码在配置为英语的系统上运行时将起作用,而在其他地方则失败。您可以在创建解析器时将语言环境设置为已知的,例如:

String startDate = "Tue May 15 00:00:01 MSK 2012";
SimpleDateFormat parser = new SimpleDateFormat("EEE MMM d HH:mm:ss zzz yyyy", Locale.US);
Date date = (Date) parser .parse(startDate );
String formattedDate = parser .format(date );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-08
    • 2011-12-18
    • 2013-10-01
    • 1970-01-01
    相关资源
    最近更新 更多