tl;dr
Instant.parse( "2010-12-16T13:33:50.513852Z" )
java.time
较新的 java.time 类可以处理此字符串输入。
The Z
最后是缩写Zulu
和手段UTC,偏移量为零+00:00
.
Instant
The Instant类代表时间线上的一个时刻UTC分辨率为纳秒(最多九 (9) 位小数)。
Instant instant = Instant.parse( "2010-12-16T13:33:50.513852Z" );
时区
您可能想要应用时区ZoneId
得到一个ZonedDateTime
。在 Stack Overflow 中搜索这些类名称以了解更多信息以及类OffsetDateTime
and DateTimeFormatter
.
转换
最好避免麻烦的旧遗留类java.util.Date
。但如果您坚持,请调用添加到旧类中的新转换方法。
java.util.Date date = java.util.Date.from( instant );
关于 java.time
The java.time框架内置于 Java 8 及更高版本中。这些课程取代了麻烦的旧课程legacy日期时间类,例如java.util.Date, Calendar, & SimpleDateFormat.
The 乔达时间项目,现在在维护模式,建议迁移到java.time类。
要了解更多信息,请参阅甲骨文教程。并在 Stack Overflow 上搜索许多示例和解释。规格为JSR 310.
从哪里获取 java.time 类?
-
Java SE 8 and SE 9 and later
- 内置。
- 具有捆绑实现的标准 Java API 的一部分。
- Java 9 添加了一些小功能和修复。
-
Java SE 6 and SE 7
- 许多 java.time 功能都向后移植到 Java 6 和 7三十后端口.
-
Android
- The 三十ABP项目适应三十后端口(如上所述)专门针对 Android。
- See 如何使用 ThreeTenABP....
The 三十额外项目通过附加类扩展了 java.time。该项目是 java.time 未来可能添加的内容的试验场。您可能会在这里找到一些有用的类,例如Interval, YearWeek, YearQuarter, and more.