为什么Python的日期时间差异返回错误的值?

时间:2015-02-05 02:28:45

标签: python datetime

我一直在使用datetime模块从两个输入字符串创建日期时间对象。

我正在尝试简单地计算 1:00 PM 10:00 AM 之间的时差,这应该是3小时,而不是15小时,因为我在下面。

我做错了什么?

In [29]: time1 = datetime.datetime.strptime('10:00AM', '%H:%M%p')

In [30]: time2 = datetime.datetime.strptime('1:00PM', '%H:%M%p')

In [31]: print time2 - time1
-1 day, 15:00:00

谢谢

1 个答案:

答案 0 :(得分:4)

打印相应的日期时间以获取线索。您需要使用AM / PM的正确格式化程序。

>>> time1 = datetime.datetime.strptime("10:00AM", "%I:%M%p")
>>> time2 = datetime.datetime.strptime('1:00PM', '%I:%M%p')
>>> print time2 - time1
3:00:00