gpt4 book ai didi

python - 评估时间戳和 total_seconds 之间的区别

转载 作者:行者123 更新时间:2023-11-28 21:04:12 28 4
gpt4 key购买 nike

当我在 python 的 datetime 中使用两种不同的方法(使用 timestamp() 或 total_seconds())评估两个日期之间的秒数时,我得到了不同的结果。为什么是这样?或者我做错了什么?这是我的意思的一个例子。

t1=dt.datetime(1970,6,12,0,0,0)
t2=dt.datetime(1970,1,1,0,0,0)

print(t1.timestamp()-t2.timestamp())
print((t1-t2).total_seconds())

我得到的答案是:13993200.013996800.0

最佳答案

差异是由夏令时引起的。如果您的一个日期在您所在时区的 DST 范围内,而另一个不在,您最终会在计算中出现一个小时的误差。

从 1966 年到 1973 年,DST in the United States ran from the last Sunday in April to the last Sunday in October,这解释了 @JoshuaRLi's findings

看起来,当减去两个日期时,它没有注意 DST 差异; t1 - t2 产生 datetime.timedelta(162),相差 162 天,尽管从技术上讲,小时相差为 162 * 24 - 1 小时(- 1 占 DST 跳过)。 timestamp 正在处理此问题(两个时间戳都是相对于 UTC,因此 DST 时间戳正确显示为一小时前,因为生成它时跳过了一个小时)。

关于python - 评估时间戳和 total_seconds 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45602652/

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