【发布时间】:2015-02-01 13:33:00
【问题描述】:
据我研究,UTC 和 Zulu 是相同的。但是,在比较从代码中不同来源收到的两个 ZonedDateTimes 时,我遇到了困难。 下面的代码说明了这个问题:
@Test
public void equalsOnTimezone() throws Exception {
ZonedDateTime zdtUtc = ZonedDateTime.of(2015, 2, 1, 14, 30, 0, 0, ZoneId.of("UTC"));
ZonedDateTime zdtZ = ZonedDateTime.of(2015, 2, 1, 14, 30, 0, 0, ZoneId.of("Z"));
assertEquals(zdtUtc, zdtZ); // will fail
}
问题:
java.lang.AssertionError: expected:<2015-02-01T14:30Z[UTC]> but was:<2015-02-01T14:30Z>
那么创建和比较基于 UTC 的值的正确方法是什么?
根据 W3C Date and Time Formats:
时间以 UTC(协调世界时)表示,带有一个特殊的 UTC 指示符(“Z”)。
【问题讨论】:
标签: java datetime timezone java-8