为什么python不正确地转换这些datetime字符串?

2024-10-04 11:31:26 发布

您现在位置:Python中文网/ 问答频道 /正文

在以下空闲会话中执行alook:

>>> 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。有人知道为什么应该是正的时候差是负的吗?你知道吗


Tags: lambdafromimportdatetimeamdays空闲timedelta
1条回答
网友
1楼 · 发布于 2024-10-04 11:31:26

您以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。你知道吗

相关问题 更多 >