通常,我会收到这种格式的datetime字符串,d_string = '2019-03-25 15:30:00+00:00'
并且可以使用转换为正确的datetime
date_converted = datetime.strptime(d_string , '%Y-%m-%d %H:%M:%S%z')
但是有时候,我收到这样的日期字符串'2019-03-25 15:30:00 00:00'
,plus
不再有任何符号。如何将这种类型的日期字符串验证为正确的datetime
格式?我总是可以从日期字符串的最后第4个位置添加加号并进行验证,但这并不是更好的解决方案。
有没有更好的办法 ?
如果您想00:00
在末尾使用,可以添加+
来匹配所需的模式,这是您可以执行的操作
if re.fullmatch(r"[\d-]{10} [\d:]{8} [\d:]{5}", value):
value = re.sub(r"(?<=[\d:]{8})( )(?=[\d:]{5})", "+", value)
给予
values = ['2019-03-25 15:30:00+00:00', '2019-03-25 15:30:00 00:00']
for value in values:
if re.fullmatch(r"[\d-]{10} [\d:]{8} [\d:]{5}", value):
value = re.sub(r"(?<=[\d:]{8})( )(?=[\d:]{5})", "+", value)
date_converted = datetime.strptime(value, '%Y-%m-%d %H:%M:%S%z')
print(date_converted)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句