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

时间:2020-07-06 21:22:07

标签: python date validation timezone rfc3339

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

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

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

这里的问题是,它会返回here所指出的非时区感知对象。

任何想法我该如何实现?

1 个答案:

答案 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对象可以识别时区。