【发布时间】:2019-03-23 18:10:03
【问题描述】:
问题:
我应该解析一个RFC3339 日期字符串。它适用于ISO_ZONED_DATE_TIME:
ZonedDateTime.parse("1985-04-12T23:20:50.52Z", ISO_ZONED_DATE_TIME);
ZonedDateTime.parse("1996-12-19T16:39:57-08:00", ISO_ZONED_DATE_TIME);
假设我将修复未知本地偏移约定的问题,只是为了不接受这些日期。 但是我仍然对像这样的一些极端情况有疑问:
1990-12-31T23:59:60Z这表示在 1990 年底插入的闰秒。
1990-12-31T15:59:60-08:00这代表太平洋标准时间的同一闰秒,8
比 UTC 晚几个小时。"1990-12-31T15:59:60-08:00"
问题:
- 如何解析它以避免丢失任何时间?
更新:
- 是否存在适合 ZonedDateTime 的任何替代方案 RFC3339?
【问题讨论】:
-
“避免丢失任何秒数”到底是什么意思?我不认为 java.time 支持闰秒,例如
ZonedDateTime.getSeconds()被记录为返回 0-59(含)范围内的值。如果它在 1991 年初返回午夜 UTC,你会满意吗?
标签: java date datetime parsing rfc3339