【发布时间】:2017-02-17 12:30:50
【问题描述】:
如何使用SimpleDateFormat将String转换为ISODate格式,这意味着我想最终得到java.util.Date格式的Date。
我的字符串看起来像 2017-02-17T09:28:03.000Z,我想将其转换为日期格式。我可以用 Joda 日期格式执行此操作,但由于我使用的是 mongoDB,它不接受 joda 格式。
String startDateString1 = "2017-02-17T04:23:17.452Z";
DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
Date startDate = df.parse(startDateString1);
String newDateString = df.format(startDate);
上面的代码不工作。
【问题讨论】:
-
你的java版本是多少?
-
您的时区是否始终为
Z?如果不是,那还能是什么? -
Java 8
java.time非常适合 ISO 日期和时间。在我看来,Instant.parse()会毫无问题地吃掉你的字符串。如果您的 MongoDB 驱动程序不接受Instant,则转换为Date很容易。 -
我正在使用 java 7
标签: java mongodb date simpledateformat isodate