我有以下字符串'2012-10-09T19:00:55Z'
,并且我想验证它是否为RFC3339
时间格式。
一种(错误的)方法是执行以下操作:
datetime.strptime('2012-10-09T19:00:55Z', '%Y-%m-%dT%H:%M:%S.%fZ')
这里的问题是,它会返回here所指出的非时区感知对象。
任何想法我该如何实现?
答案 0 :(得分:0)
我找到了这个解决方案:
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
请注意字符串格式的细微差别。这样可以确保datetime对象可以识别时区。