在python中减去日期时,我发现结果是不对称的,差异的大小取决于减法的顺序
代码
import sys
from datetime import datetime, timezone, timedelta
print(sys.version)
datetime_1 = datetime.fromisoformat('2020-01-19 21:00:00').astimezone(timezone.utc)
datetime_2 = datetime_1 + timedelta(hours=1)
print(datetime_1)
print(datetime_2)
print(datetime_1 - datetime_2)
print(datetime_2 - datetime_1)
print((datetime_2 - datetime_1).seconds)
print((datetime_1 - datetime_2).seconds)
输出
> 3.7.2 (default, Dec 29 2018, 06:19:36) [GCC 7.3.0]
> 2020-01-20 05:00:00+00:00
> 2020-01-20 06:00:00+00:00
> -1 day, 23:00:00
> 1:00:00
> 3600
> 82800
我的期望是,无论减法的顺序如何,差值都是3600秒,忽略符号。你知道为什么不是这样吗
最后我从我认识的其他人那里得到了答案。诀窍是使用total_seconds()
同一个人给了我一个链接,指向我错过的同一个问题(使这个问题重复)
How do I check the difference, in seconds, between two dates?
相关问题 更多 >
编程相关推荐