3

Что означает тире в формате даты и времени ISO 8601?Что означает тире в формате даты и времени ISO 8601?

--0412 
--1022T1410 
---12 

Это текущий год и месяц, какой-то «минимальный» год или что-то еще?

Если это текущий год, значит, я не могу представить его в объекте DateTimeOffset в .Net, потому что он будет устанавливать определенный год и месяц при разборе строки «--- 12»?

ответ

3

В ISO 8601: 1998 и ISO 8601: 2000 они известны как усеченных представлений, где каждый черточки указывают опущенные компоненты.

--MMDD представляет собой конкретный день месяца в предполагаемом году. Усеченные представления, которые были удалены в ISO 8601: 2004, потому что они ввели двусмысленность в усеченных представлениях с предполагаемым веком.

+0

Спасибо Шансен. Хммм ... Я не знал, что они удалены в ISO 8601: 2004. vCard RFC 6350 (с августа 2011 года) гласит: «Усеченное представление, как указано в [ISO.8601.2000], разрешено разделом 5.2.1.3 d), e) и f).». –

+0

@ITHitWebDAV RFC 6350, вероятно, ограничен [RFC 2425] (http://tools.ietf.org/search/rfc2425#page-13), который оставил много интерпретации для разработчика, RFC 2425 говорит «на основе подмножества определений в стандарте ISO 8601 "без определения фактического подмножества. RFC 6350 относится к ISO 8601: 2000 и 8601: 2004, где это имеет смысл и, следовательно, уменьшает вероятность двусмысленности. – chansen

0

«В некоторых областях применения двойной разделитель используется в качестве разделителя вместо солидуса». (Обозначения типа 2000-2002 были поддержаны предыдущими версиями стандарта.)

В стандарте ISO 8601 не указывается, относится ли указание даты или времени (или даты и времени) к особой точке во времени или времени период. В частности, обозначение даты может использоваться для обозначения полного 24-часового дня или определенного момента времени внутри него, вероятно, по умолчанию начало дня (00:00). Точно так же временная нотация, подобная 9:00, может относиться к девяти часам абсолютно резко или к периоду с 09:00 до 09:01 или что-то еще. При необходимости может быть дано конкретное соглашение или вербальное указание значения, или можно использовать самые явные обозначения с ISO 8601. Например, можно было написать 09:00:00 или 09: 00: 00/09: 01: 00, чтобы различать две упомянутые выше интерпретации.

Source

рекомендуем также прочитать следующее:

Standard Date and Time Format Strings

+0

Я уверен, что дефис означает пропущенный компонент, а не период времени. –