时间值为:
value = '2017-08-31T02:24:29.000Z'
我尝试将其转换为datetime
对象:
import datetime
datetime_object = datetime.datetime.strptime(value, '%Y-%b-%d %I:%M%p')
但是命令崩溃了,例外:
ValueError: time data '2017-08-31T02:24:29.000Z' does not match format '%Y-%b-%d %I:%M%p'
答案 0 :(得分:2)
您应该使用内置Python datautil
模块而不是date time
:
import dateutil.parser
value = '2017-08-31T02:24:29.000Z'
result = dateutil.parser.parse(value)
答案 1 :(得分:1)
首先,您缺少微秒的格式化程序。
其次,没有第二个冒号分开分钟和秒钟。
第三,%b
运算符用于月份名称(Jan,Feb等)。您想使用%m
。
最终格式为'%Y-%m-%dT%I:%M:%S.%fZ'
。
这是你的代码:
datetime_object = datetime.datetime.strptime(value, '%Y-%m-%dT%I:%M:%S.%fZ')
您应该将2017-08-31 02:24:29
作为datetime_object的值。