日期是否在 ISO 8601 的目标时区?
Is date in the target timezone in ISO 8601?
我试图解析 ISO 8601 格式的日期,但有些时候我不太清楚。
例如,我有下一个日期:2020-04-16T07:16:34.858215+03:00
在 Europe/Moscow
时区。
莫斯科时间是07:16
还是10:16
?我的意思是我需要添加 3 小时到日期还是日期已经在莫斯科时间并且时区只是显示它与 UTC 的区别?
P.S.我试图找到有关它的信息,但到处都是通用格式描述,没有详细信息。
指定时间为当地时间,因此2020-04-16T07:16:34.858215+03:00
表示莫斯科7:16am,或4:16am UTC。
Wikipedia 有一个很好的例子,它至少在一定程度上澄清了事情:
The following times all refer to the same moment: "18:30Z", "22:30+04", "1130−0700", and "15:00−03:30". Nautical time zone letters are not used with the exception of Z. To calculate UTC time one has to subtract the offset from the local time, e.g. for "15:00−03:30" do 15:00 − (−03:30) to get 18:30 UTC.
不幸的是,ISO-8601 将此作为时区来讨论,而它只是一个 UTC 偏移量 - 它肯定 没有 指定实际时区。 (例如,您无法判断一分钟后的当地时间。)
我试图解析 ISO 8601 格式的日期,但有些时候我不太清楚。
例如,我有下一个日期:2020-04-16T07:16:34.858215+03:00
在 Europe/Moscow
时区。
莫斯科时间是07:16
还是10:16
?我的意思是我需要添加 3 小时到日期还是日期已经在莫斯科时间并且时区只是显示它与 UTC 的区别?
P.S.我试图找到有关它的信息,但到处都是通用格式描述,没有详细信息。
指定时间为当地时间,因此2020-04-16T07:16:34.858215+03:00
表示莫斯科7:16am,或4:16am UTC。
Wikipedia 有一个很好的例子,它至少在一定程度上澄清了事情:
The following times all refer to the same moment: "18:30Z", "22:30+04", "1130−0700", and "15:00−03:30". Nautical time zone letters are not used with the exception of Z. To calculate UTC time one has to subtract the offset from the local time, e.g. for "15:00−03:30" do 15:00 − (−03:30) to get 18:30 UTC.
不幸的是,ISO-8601 将此作为时区来讨论,而它只是一个 UTC 偏移量 - 它肯定 没有 指定实际时区。 (例如,您无法判断一分钟后的当地时间。)