月份和日期的--MM-DD格式是否属于ISO 8601标准?

6
Java 8日期/时间API java.time 提供了一个MonthDay类来表示月份和日子。同样地,Joda-Time库也提供了一个MonthDay类
在java.time中,MonthDay.toString()方法声明如下:

输出此月份-日期对的字符串,例如 --12-03。

java.time中的大多数类都有它们自己的toString()方法,输出它们所代表的概念的标准ISO 8601表示形式(例如,LocalDateYYYY-MM-DD),因此我希望这个--MM-DD格式也是标准的。
但我在ISO 8601标准中找不到这个格式。 月日是ISO 8601定义的概念吗?如果是,那么--MM-DD是标准格式吗? 背景:我正在开发另一种语言的日期/时间API。
1个回答

7

在ISO 8601:1988的第4.4段中,它说:

注意-连字符也用于表示省略的组件

因此,格式--MM-DD符合ISO 8601标准,其中年份被省略/缺失,并且第5.2.1.3d段中还包含了一个非常相似的例子。

这种格式在后来的ISO 8601标准版本中消失了。但是,java.time类继续支持该格式以及MonthDay类。


1
虽然我在早期的“ISO 8601:2000(E)”第二版(草案副本)中看到了您的第二个引用(5.2.1.3d),但我没有看到任何关于您引用的两个部分的提及,这是在后来的“ISO 8601:2004(E)”第三版(草案副本)中。在第三版中,似乎没有提到这样的截断值。您能否精确引用您所参考的标准版本? - Basil Bourque
已完成。这是ISO 8601第一版1988-06-15版本的一部分。 - nos
1
为什么这个提及在最近的标准版本中消失了?这种格式还是最新的吗? - BenMorel
1
ISO-8601在多年来发生了变化,我不知道为什么。正如所指出的那样,这是一种有效的格式,并且作为toString()仍然有意义。 - JodaStephen
1
请注意,在 XML 模式定义(XSD)规范的 gMonthDay 中也是这样定义的。 - Matt Johnson-Pint

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接