如何验证字符串是否为RFC3339格式的时间?



我有以下字符串'2012-10-09T19:00:55Z',我想验证它是否RFC3339时间格式。

一种(错误的(方法是执行以下操作:

datetime.strptime('2012-10-09T19:00:55Z', '%Y-%m-%dT%H:%M:%S.%fZ')

这里的问题是,这返回了一个非时区感知对象,如此处所述。

知道我该如何实现这一目标吗?

我找到了这个解决方案:

from datetime import datetime
assert datetime.strptime('2012-10-09T19:00:55Z', '%Y-%m-%dT%H:%M:%S%z')
assert datetime.strptime('2012-10-09T19:00:55Z', '%Y-%m-%dT%H:%M:%S%z').tzinfo is not None

请注意字符串格式的细微差异。这可确保日期时间对象是时区感知的。

最新更新