字符串时间戳为:
lastStartTimestamp = '2021-03-21T06:51:48.332-07:00'
我继续声明datetime
对象
import datetime
date_time_obj = datetime.datetime.strptime(lastStartTimestamp, '%Y-%m-%dT%H:%M:%S.%fZ')
但代码失败
ValueError: time data '2021-03-21T06:51:48.332-07:00' does not match format '%Y-%m-%dT%H:%M:%S.%fZ'
有没有办法让datetime
发挥作用?
lastStartTimestamp = '2021-03-21T06:51:48.332-07:00'
import datetime
dt = datetime.datetime.fromisoformat(lastStartTimestamp)
date_time_obj = datetime.datetime.strptime(lastStartTimestamp, '%Y-%m-%dT%H:%M:%S.%f%z')
print(dt)
print(date_time_obj)
输出
2021-03-21 06:51:48.332000-07:00
2021-03-21 06:51:48.332000-07:00
注意,您可以使用datetime.datetime.fromisoformat()
。
实际上,@buran的答案是有效的。但是,如果没有,您可以使用dateutil.parser
中的parse()
方法来解析任意日期时间字符串:
from dateutil.parser import parse
lastStartTimestamp = '2021-03-21T06:51:48.332-07:00'
date_time_obj = parse(lastStartTimestamp) # 2021-03-21 06:51:48.332000-07:00
使用日期分析器库。
pip install dateparser
这是一个小片段
import dateparser
lastStartTimestamp = '2021-03-21T06:51:48.332-07:00'
dateparser.parse(lastStartTimestamp)
datetime.datetime(2021,3,21,6,51,48332000,tzinfo=<StaticTzInfo'UTC-07:00'>(