如何验证字符串是 RFC3339 格式的时间?
How to validate that a string is a time in RFC3339 format?
我有以下字符串 '2012-10-09T19:00:55Z'
,我想验证它是否采用 RFC3339
时间格式。
一种(错误的)方法是执行如下操作:
datetime.strptime('2012-10-09T19:00:55Z', '%Y-%m-%dT%H:%M:%S.%fZ')
这里的问题是这个 return 一个非时区感知对象,正如所指出的 here。
知道如何实现吗?
我找到了这个解决方案:
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
请注意字符串格式的细微差别。这确保日期时间对象是时区感知的。
我有以下字符串 '2012-10-09T19:00:55Z'
,我想验证它是否采用 RFC3339
时间格式。
一种(错误的)方法是执行如下操作:
datetime.strptime('2012-10-09T19:00:55Z', '%Y-%m-%dT%H:%M:%S.%fZ')
这里的问题是这个 return 一个非时区感知对象,正如所指出的 here。
知道如何实现吗?
我找到了这个解决方案:
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
请注意字符串格式的细微差别。这确保日期时间对象是时区感知的。