看看下面的空闲会话:
>>> from datetime import datetime
>>> timeFmtPy = '%m/%d/%Y %H:%M:%S %p'
>>> d = lambda y:datetime.strptime(y, timeFmtPy)
>>> t1 = d('6/2/2019 12:48:10 AM')
>>> t2 = d('6/2/2019 1:05:17 AM')
>>>
>>> (t2-t1)
datetime.timedelta(days=-1, seconds=44227)
>>> 44227/3600
12.285277777777777
>>> (t2-t1).total_seconds()
-42173.0
很显然,t2
比t1
晚。没有人知道为什么差异应该为正时为负吗?
答案 0 :(得分:3)
您以12小时格式指定时间,因此%H
应该是%I
。
f = lambda y: datetime.strptime(y, '%m/%d/%Y %I:%M:%S %p')
t1 = f('6/2/2019 12:48:10 AM')
t2 = f('6/2/2019 1:05:17 AM')
t2 > t1
# True
有关时间格式说明符的便捷列表,请参见http://strftime.org。