带时区和时间跨度的 ISO8601
ISO8601 with Timezone and Timespan
我读过我可以通过附加 Z
或 +02
或 -03:00
来添加 ISO8601 日期的时区信息。
我还读到我可以通过附加 P
和时间来添加时间跨度信息,例如 4DT2H
(4 天零两小时)。
如何将两者结合起来?首先是时区还是时间跨度?
例如2018-10-18T14:20+02P1D
对比 2018-10-18T14:20P1D+02
通过使用两个值,您基本上是在描述事件何时开始以及持续多长时间。这些值包含在 ISO 8601 规范的第 4.4.4.3 节中,标题为 "Representations of time interval identified by start and duration".
规范要求时间戳和时间段部分完全符合既定格式,用正斜杠 (/
) 字符分隔。
例如:2018-10-18T14:20+02/P1D
时区偏移量(无论是 Z
、+02
还是 -03:00
)属于时间戳,在斜杠之前。
就是说,据我所知,很少有解析器能够理解这种格式。它是合规的,但并非每个 ISO 8601 解析器都必须理解规范的每个部分。
我读过我可以通过附加 Z
或 +02
或 -03:00
来添加 ISO8601 日期的时区信息。
我还读到我可以通过附加 P
和时间来添加时间跨度信息,例如 4DT2H
(4 天零两小时)。
如何将两者结合起来?首先是时区还是时间跨度?
例如2018-10-18T14:20+02P1D
对比 2018-10-18T14:20P1D+02
通过使用两个值,您基本上是在描述事件何时开始以及持续多长时间。这些值包含在 ISO 8601 规范的第 4.4.4.3 节中,标题为 "Representations of time interval identified by start and duration".
规范要求时间戳和时间段部分完全符合既定格式,用正斜杠 (/
) 字符分隔。
例如:2018-10-18T14:20+02/P1D
时区偏移量(无论是 Z
、+02
还是 -03:00
)属于时间戳,在斜杠之前。
就是说,据我所知,很少有解析器能够理解这种格式。它是合规的,但并非每个 ISO 8601 解析器都必须理解规范的每个部分。