ISO 8601指定表示日期和时间的格式。例如,时间部分可能是18:34:12Z,Z后缀表示这是UTC时间。
TAI是另一个时间标准,目前它与UTC相抵37秒,主要是由于UTC的闰秒,而不是TAI。
我可以用ISO 8601来表示TAI时间吗?
显然,Z后缀本身是不合适的,因为TAI不是UTC。ISO 8601确实允许来自UTC的时间偏移,但是我可以找到的例子是关于时区的,并且只被表示为小时和分钟,例如印度本地时间使用的18:34:12Z+05:30。
是否允许使用类似于18:34:12Z+00:00:37的东西来表示在TAI中的某个时间?
我找不到任何文档来指示偏移量中是否允许秒。也许有更好的方法来代表泰时?
抱歉,如果这是在不正确的堆栈交换站点-所有的ISO 8601问题,我可以找到堆栈溢出,但我不确定这是一个直接的编程问题。但是,我找不到更好的站点,我问这个问题,因为我正在编写需要输出日期和时间的代码。
发布于 2022-08-02 01:58:37
作为我自己问题的答案(一些重要的时间后)。我在RFC 3339:中发现了以下内容
数值偏移计算为“本地时间减去UTC”。因此,可以通过从本地时间减去偏移量来确定UTC中的等效时间。例如,18:50-04:00与22:50:00 Z时间相同。(此示例显示了通过添加偏移量的绝对值来处理的负偏移量。)注意:按照ISO 8601标准,数值偏移仅表示与协调世界时不同的时区的整数分钟数。然而,许多历史时区与世界协调时的非整数分钟数不同.要准确地表示这些历史时间戳,应用程序必须将它们转换为可表示的时区。
因此,这意味着在偏移量中只允许整分钟。因此,似乎不能如我前面所建议的那样代表TAI。相反,您显然需要将其转换为UTC或其他时区。似乎TAI不能在ISO 8601中直接表示。
https://stackoverflow.com/questions/67870968
复制相似问题