差异是由夏令时引起的。如果您的日期之一落在您所在时区的DST范围内,而另一个日期不在时区的DST范围内,那么您的计算结果将出现一小时的错误。
从1966年到1973年,美国DST从4月的最后一个星期日运行到10月的最后一个星期日,这解释了@JoshuaRLi的发现。
看起来,当减去两个日期时,它并没有注意DST的差异。
t1 -t2产生
datetime.timedelta(162)了162天的差异,即使从技术上来说,小时的差异也将是162 *24-1小时(-1代表DST跳过)。
timestamp正在处理此问题(这两个时间戳都是相对于UTC的,因此DST时间戳正确显示为早一小时,因为生产时已跳过了一个小时)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)