5

Java 8 日期/时间 API java.time有一个MonthDay 类来表示一个月和一天。Joda-Time库也提供MonthDay类。

在 java.time 中,该MonthDay.toString()方法被声明为:

以字符串形式输出本月-日,例如 --12-03。

java.time 中的大多数类都有它们的toString()方法输出它们所代表的概念的标准 ISO 8601 表示(YYYY-MM-DD例如LocalDate),所以我希望这种--MM-DD格式也是标准的。

但我在 ISO 8601 标准中找不到这个。

月日是ISO 8601 定义的概念吗?如果是,是--MM-DD标准格式吗?

背景:我正在开发另一种语言的日期/时间 API。

4

1 回答 1

6

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

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

因此格式--MM-DD符合ISO 8601,其中年份被省略/丢失,第 5.2.1.3d 段也包含该格式的示例。

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

于 2014-08-06T18:36:00.287 回答