如何用Zulu时间解析ISO 8601格式的字符串?
javax.xml.bind.DatatypeConverter.parseDateTime("2010-12-16T13:33:50.513852Z")
Run Code Online (Sandbox Code Playgroud)
回报
IllegalArgumentException: '2010-12-16T13:33:50.513852Z' weist ein falsches Format auf.
Run Code Online (Sandbox Code Playgroud)
这意味着错误的格式,任何人都有一个线索在这里错在哪里?
Instant.parse( "2010-12-16T13:33:50.513852Z" )
Run Code Online (Sandbox Code Playgroud)
较新的java.time类可以处理此字符串输入.
该Z对端是短期的Zulu和手段UTC,零偏移+00:00.
Instant该Instant级表示时间轴上的时刻UTC,分辨率为纳秒(最多9个(9)小数的位数).
Instant instant = Instant.parse( "2010-12-16T13:33:50.513852Z" );
Run Code Online (Sandbox Code Playgroud)
您可能想要应用时区ZoneId来获取ZonedDateTime.搜索Stack Overflow以获取这些类名称以了解更多信息以及类OffsetDateTime和DateTimeFormatter.
最好避免麻烦的旧遗产类java.util.Date.但是如果你坚持,请调用添加到旧类的新转换方法.
java.util.Date date = java.util.Date.from( instant );
Run Code Online (Sandbox Code Playgroud)
该java.time框架是建立在Java 8和更高版本.这些类取代麻烦的老传统日期时间类,如java.util.Date,Calendar,和SimpleDateFormat.
现在处于维护模式的Joda-Time项目建议迁移到java.time类.
要了解更多信息,请参阅Oracle教程.并搜索Stack Overflow以获取许多示例和解释.规范是JSR 310.
从哪里获取java.time类?
该ThreeTen-额外项目与其他类扩展java.time.该项目是未来可能添加到java.time的试验场.您可以在此比如找到一些有用的类Interval,YearWeek,YearQuarter,和更多.
| 归档时间: |
|
| 查看次数: |
3897 次 |
| 最近记录: |