我很难将ISO 8601格式的String转换为UTC中的java.time.LocalDateTime。
更具体的,我试图写一个XMLAdapter的,你可以输入各种ISO 8601 dataformats作为字符串(即2002-09-24
,2011-03-22T13:30
,2015-05-24T12:25:15Z
,2015-07-28T11:11:15.321+05:30
),并且在输出UTC,反之亦然一个LocalDateTime。
系统在UTC时间内部存储所有其日期和时间信息。当用户请求日期或时间时,将根据其自己的ZoneId将其表示给用户。
编辑:下面的罗勒答案应标记为正确。https://stackoverflow.com/a/43083698/348956
顾名思义,LocalDateTime
它同时包含日期和时间。例如,您问题中的日期字符串的第一个示例仅包含有关日期的信息,因此您不能将其直接解析为LocalDateTime
。您可以做的是先将其解析为,LocalDate
然后在该对象上设置时间以获得LocalDateTime
。
LocalDateTime localDateTime = LocalDate.parse("2002-09-24").atStartOfDay();
所有的Date和Time对象都有一个parse方法LocalDate
,可以采用某种字符串格式。这些格式是DateTimeFormatter中指定的不同ISO标准格式
要将自定义日期时间字符串格式化为Temporal
对象,请使用DateTimeFormatter并指定自定义模式。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句