不乔达时间
一些其他的答案都在暗示乔达时库不正确。该源代码显然使用Java 8及更高版本中内置的java.time类。
java.time
的java.time框架的前身是乔达时间,由JSR 310定义的,并且由同一人作为谁创造了乔达时,斯蒂芬Colbourne领导。
回端口
要回答这个问题,如果你使用的是Java 6或7,使用ThreeTen-Backport项目。大部分java.time功能都在那里被移植。
目前Maven的依赖是:
<dependency>
<groupId>org.threeten</groupId>
<artifactId>threetenbp</artifactId>
<version>1.3.2</version>
</dependency>
这回港在ThreeTenABP项目还适用于Android系统。见How to use ThreeTenABP in an Android project
OffsetDateTime
即示例代码可被简化。标准ISO 8601格式的输入数据可以由OffsetDateTime
类直接解析。所以需要定义一个格式化模式。
OffsetDateTime odt = OffsetDateTime.parse("2015-01-12T05:00:00.000+0000") ;
java.util.Date utilDate = java.util.Date.from(odt.toInstant()) ;
或者在一行中,如果你坚持。
java.util.Date utilDate = java.util.Date.from(OffsetDateTime.parse("2015-01-12T05:00:00.000+0000").toInstant());
当然,赶上DateTimeParseException
为无效输入。
尝试[乔达时间](https://mvnrepository.com/artifact/joda-time/joda-time) – DimaSan