【问题标题】:SimpleDateFormat throws ParseException [duplicate]SimpleDateFormat 抛出 ParseException [重复]
【发布时间】:2016-03-01 11:00:43
【问题描述】:

给定以下字符串和格式化程序设置:

final SimpleDateFormat formatter = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy");
final String date = "Mon Jan 25 16:33:06 CET 2016";
pojo.setTimestamp(formatter.parse(date));

我遇到了一个异常,但不明白我应该怎么做才能解决它。

【问题讨论】:

  • 发布堆栈跟踪
  • 您的格式似乎运行良好。
  • 不应在日期“=”之间。能否请您发布您的完整代码?
  • @Kordi:确实,复制粘贴错误。
  • 您的代码工作正常:ideone.com/dknyr2 - 除非您使用错误的语言环境:ideone.com/DGHZgj

标签: java date simpledateformat


【解决方案1】:

我怀疑问题出在SimpleDateFormat 中使用的语言环境。默认情况下,SimpleDateFormat 采用系统的默认语言环境...因此,如果您在法国运行此代码,例如,“Mon”将不会被识别为星期几的缩写。

最简单的解决方法是调用指定语言环境的SimpleDateFormat 构造函数:

SimpleDateFormat formatter =
    new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.US);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多