这两种时间格式有什么区别?
What is the difference between the two time formats?
我的目标是使用单一字符串时间格式 (UTC)。
我从两个字符串时间戳开始:
tf1 = '2020-07-11T17:25:48.675541+0000'
tf2 = '2020-07-11T17:25:49.125175Z'
RFC3339_FORMAT = '%Y-%m-%dT%H:%M:%S.%f%z'
当我断言它们是否都是 rfc3339 格式时,它们都通过了:
from datetiem import datetime
assert datetime.strptime(tf1, RFC3339_FORMAT)
assert datetime.strptime(tf2, RFC3339_FORMAT)
这是为什么?
tf1
和tf2
有什么区别?
更一般地说,我在这里的断言有什么问题?
strptime()
中的 %z
格式说明符接受 ±HHMM[SS[.ffffff]]
格式、±HH:MM[:SS[.ffffff]]
格式或 Z
格式的时区,等同于 [=15] =].参见 documentation.
中的注释 (6)
请注意,这与 RFC 3339 不同,后者只允许 ±HH:MM
或 Z
。没有冒号的时区是 ISO 8601 格式。
我的目标是使用单一字符串时间格式 (UTC)。
我从两个字符串时间戳开始:
tf1 = '2020-07-11T17:25:48.675541+0000'
tf2 = '2020-07-11T17:25:49.125175Z'
RFC3339_FORMAT = '%Y-%m-%dT%H:%M:%S.%f%z'
当我断言它们是否都是 rfc3339 格式时,它们都通过了:
from datetiem import datetime
assert datetime.strptime(tf1, RFC3339_FORMAT)
assert datetime.strptime(tf2, RFC3339_FORMAT)
这是为什么?
tf1
和tf2
有什么区别?
更一般地说,我在这里的断言有什么问题?
strptime()
中的 %z
格式说明符接受 ±HHMM[SS[.ffffff]]
格式、±HH:MM[:SS[.ffffff]]
格式或 Z
格式的时区,等同于 [=15] =].参见 documentation.
请注意,这与 RFC 3339 不同,后者只允许 ±HH:MM
或 Z
。没有冒号的时区是 ISO 8601 格式。