解析奇怪的日期格式

Parsing weird date format

我必须解析这种奇怪的日期格式。

2015-12-18T03:36:06.000+0000

我目前正在将正则表达式映射到日期格式,以便我可以解析不同的日期。但是,这种格式让我感到困惑。任何帮助表示赞赏。

要将 String 解析为 Java 中的 Date,您可以使用 DateFormat 对象,并指定日期的格式。没有必要要使用正则表达式,Java 库有一种方法可以为您做到这一点。

final DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
final Date d = df.parse("2015-12-18T03:36:06.000+0000");  // From your code above
System.out.println(d);

有关符号含义的更多解释,请参阅 JavaDoc for SimpleDateFormat。这实际上是一种称为 ISO 8601 的通用日期格式,我只是从文档中直接采用了模式。

小心!这些 DateFormat 对象不是线程安全的。