我有以下字符串'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
请注意字符串格式的细微差异。这可确保日期时间对象是时区感知的。