Несоответствие часового номера ISO 8601
ISO 8601, раздел 5.3 определяет
часы представлены двумя цифрами от [01] до [24]
Но ниже, раздел 5.3.2 разрешает и "00:00:00", и "24:00:00" для полуночи.
Из опыта я также знаю, что полночный час обычно представлен цифрами [00], а не [24], кроме точной секунды полуночи. Так что это, похоже, ошибка в спецификации. Конечно, кто-то заметил это до меня. Есть ли опубликованные опечатки? Я что-то пропустил?
1 ответ
Я не знаю раздел 5.3 в последней статье ISO-8601, но вижу это:
4.2.3 Полночь
Полные представления в основном и расширенном формате для полуночи в соответствии с 4.2.2 должны быть выражены любым из двух следующих способов:
Basic format Extended format a) 000000 00:00:00 (the beginning of a calendar day) b) 240000 24:00:00 (the end of a calendar day)
Представления могут иметь пониженную точность в соответствии с 4.2.2.3 или могут быть обозначены как выражение времени в соответствии с 4.2.2.5. Для представления полуночи представления могут быть расширены десятичной дробью, содержащей только нули в соответствии с 4.2.2.4.
ПРИМЕЧАНИЕ 1 Полночь обычно обозначается как [00:00] или [24:00].
ПРИМЕЧАНИЕ 2. Конец одного календарного дня [24:00] совпадает с [00:00] в начале следующего календарного дня, например, [24:00] 12 апреля 1985 года совпадает с [00:00] 13 Апрель 1985 года. Если нет связи с датой или временным интервалом, то а) и б) представляют одно и то же местное время в 24-часовой системе учета времени.
ПРИМЕЧАНИЕ 3. Выбор представления a) или b) будет зависеть от любой связи с датой или интервалом времени. Представления, где [hh] имеет значение [24], являются предпочтительными только для представления конца временного интервала в соответствии с 4.4 или повторяющегося временного интервала в соответствии с 4.5.
Поэтому я думаю, что все в порядке, нет противоречий.
Кстати, я адаптировал это специальное значение 24:00 в моей библиотеке времени Java Time4J (см. Класс net.time4j.PlainTime
), чтобы включить более элегантные описания временных интервалов. И я также знаю из реальной жизни, что такое значение часа не является чем-то необычным (например, во времена открытия магазинов).