不喬達時間
一些其他的答案都在暗示喬達時庫不正確。該源代碼顯然使用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