破折号在ISO 8601日期和时间格式中的含义是什么?

时间:2013-12-04 23:15:08

标签: c# datetime-format iso8601 datetimeoffset datetime-parsing

破折号在ISO 8601日期和时间格式中的含义是什么?

--0412
--1022T1410
---12

当前年份和月份,某些“最低”年份还是其他什么?

如果它是当前年份,这是否意味着我无法在.Net中的DateTimeOffset对象中表示它,因为它将在解析'--- 12'字符串时设置一些特定的年份和月份?

2 个答案:

答案 0 :(得分:3)

在ISO 8601:1998和ISO 8601:2000中,它们被称为截断表示,其中每个连字符表示省略的组件。

--MMDD代表隐含年份中某月的特定日期。在ISO 8601:2004中删除的截断表示,因为它在隐含世纪的截断表示中引入了歧义。

答案 1 :(得分: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