Насколько я мог исследовать, 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 Форматы даты и времени:
Время выражается в UTC (скоординированное универсальное время) со специальным обозначением UTC ( "Z" ).