无法使用datetime.datetime.strptime,而是获得了AttributeError

时间:2014-03-21 12:59:07

标签: python datetime strptime

我在python中有两个字符串。

time_array1='09-JAN-2014 01:19'
time_array2='09-JAN-2014 01:01'

我需要找到时差,我正在做:

print time_array1
print time_array2
FMT = '%d-%m-%Y %H:%M'
datetime_object1= datetime.datetime.strptime(time_array1, FMT)
print datetime_object1
datetime_object2= datetime.datetime.strptime(time_array2, FMT)
print datetime_object2
diff=datetime_object1 - datetime_object2
print diff

但是我收到以下错误:

    datetime_object1= datetime.datetime.strptime(time_array1, FMT)
AttributeError: type object 'datetime.datetime' has no attribute 'strptime'

我有什么替代方法可以做到这一点。似乎python库没有strptime属性。

1 个答案:

答案 0 :(得分:1)

在python 2.5中添加了strptime方法;如果您使用的是旧版本,请改用以下代码:

import datetime, time
datetime_object1 = datetime.datetime(*time.strptime(time_array1, FMT)[:6])

您的月份是缩写,请使用%b来解析而不是%m

演示:

>>> import datetime, time
>>> time_array1='09-JAN-2014 01:19'
>>> time_array2='09-JAN-2014 01:01'
>>> FMT = '%d-%b-%Y %H:%M'
>>> datetime.datetime(*time.strptime(time_array1, FMT)[:6])
datetime.datetime(2014, 1, 9, 1, 19)
>>> datetime.datetime(*time.strptime(time_array2, FMT)[:6])
datetime.datetime(2014, 1, 9, 1, 1)