0

我的目标是使用单一字符串时间格式(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

更一般地说,我在这里的断言有什么问题?

4

1 回答 1

1

中的%z格式说明符strptime()接受±HHMM[SS[.ffffff]]格式、±HH:MM[:SS[.ffffff]]格式或的时区Z,相当于+00:00. 请参阅文档中的注释 (6) 。

请注意,这与RFC 3339不同,后者只允许±HH:MMor Z。没有冒号的时区是 ISO 8601 格式。

于 2020-07-11T18:14:47.523 回答