【发布时间】:2013-12-14 05:41:55
【问题描述】:
40,000,000 秒是 462.962 天。如果我想将其表示为 ISO-8601 期间,请采用以下形式:
PnYnMnDTnHnMnS
确定月份和年份的规则是什么?两者都不是精确的术语,标准说这取决于时期的开始日期。
这是有道理的:它使没有开始日期的期间模棱两可。是否有任何可接受的方法来使用没有开始日期的期间?
【问题讨论】:
-
你使用什么编程语言?
-
@JánVorčák,编程语言在这里不是问题。该标准没有说明如何以
n年、n月、n天等持续时间格式表示 40 兆秒。如何知道M1D2是多少天?是31+2吗?还是 30+2?或者也许是 28+2?这就是问题所要问的,似乎。 -
@soulseekah 你说得对,对不起,我误解了这个问题
-
我无权访问该标准,但维基百科说“该标准不禁止持续时间表示中的日期和时间值超过其“结转点”,除非如下所述。因此,“ PT36H" 可以与 "P1DT12H" 一样用于表示相同的持续时间。但是我不知道你是否真的能找到一个解析 4*10^7 几秒的库。
-
提醒:即使考虑到开始日期时间(IMO 应该这样做),您也必须决定如何处理闰秒。
标签: iso8601