gpt4 book ai didi

python - Python中的日期时间减法是非对称的?

转载 作者:行者123 更新时间:2023-12-01 06:31:17 24 4
gpt4 key购买 nike

当在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()

print((datetime_2 - datetime_1).total_seconds())
print((datetime_1 - datetime_2).total_seconds())

同一个人给了我一个指向我错过的同一问题的链接(使该问题重复)

How do I check the difference, in seconds, between two dates?

关于python - Python中的日期时间减法是非对称的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59906229/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com