如何将字符串转换为datetime对象

时间:2017-09-02 00:05:18

标签: python

时间值为:

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'

2 个答案:

答案 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的值。