Как следует интерпретировать даты только за год в ISO 8601?

#data-modeling #iso8601

#моделирование данных #iso8601

Вопрос:

Я рассматриваю еще одну спецификацию даты, основанную на стандарте ISO 8601. Я понимаю, что последний принимает даты, имеющие год только в их значении, например, «2007». Вопрос в том, как они интерпретируются? 1) указан только год, ничего не сказано о дне / месяце, либо потому, что они неизвестны, либо мы хотим ссылаться на год в общем виде, как в: «следующий год для собаки в китайской астрологии», или 2) Значение Jan / 1 неявно?

Определили ли они стандартную интерпретацию для этого, или каждый волен поступать так, как хочет (т. Е. распространять несовместимость), или де-факто все поступают так, как хотят?

Как поясняется в комментариях, мой основной интерес заключается в моделировании схем для обмена данными и интероперабельности, и, следовательно, для меня важно знать, указаны ли / как эти вещи.

Комментарии:

1. Лично я всегда понимал это как целый год без указания даты. Я объединил с месяцем и днем месяца, если мне нужна была дата. В Википедии ничего не сказано, поэтому я полагаю, вы можете сделать то, что вам нужно для вашей ситуации.

2. @OleV.V. Хотел бы я, чтобы это было так просто: я мог бы интерпретировать их как «общий год, без указания дня / месяца», но тогда база данных может преобразовать мои данные в 2019-01-01, я мог бы получать данные от третьих сторон, имеющих другую интерпретацию, и т.д. Я работаю над проблемами совместимости данных, и именно поэтому я хотел понять, говорит ли ISO что-нибудь конкретное по этому поводу.

3. Спасибо. Возможно, вы захотите добавить эту справочную информацию к вопросу.

4. ISO-8601 позволяет напрямую кодировать неопределенную информацию. Следовательно, существует разница между годом «2007» и (неуказанным) днем «2007-XX-XX». Сохраняет ли ваша база данных различие, а не всегда выбирает канонический день для представления года, это другой вопрос.