【发布时间】:2014-10-31 15:01:36
【问题描述】:
我正在比较具有不同时区的两个 time 对象,看起来它实际上忽略了时区,只测试小时/分钟/秒组件。
让我们创建两个time 对象:
from datetime import time
import pytz
CET = pytz.timezone('CET')
Japan = pytz.timezone('Japan')
t1 = time(1,2,3, tzinfo=CET)
t2 = time(1,2,3, tzinfo=Japan)
打印它们,我们发现它们非常不同:
datetime.time(1, 2, 3, tzinfo=<DstTzInfo 'CET' CET+1:00:00 STD>)
datetime.time(1, 2, 3, tzinfo=<DstTzInfo 'Japan' JST+9:00:00 STD>)
现在,让我们比较一下:
t1 == t2
#-> True
嗯,什么? Python 怎么可能平等对待它们?
【问题讨论】:
-
你用的是什么版本的 Python?
-
@MattDMo,它是 2.7。对不起:)
-
Derp 应该是正确的答案,因为它解释了为什么时间对象是幼稚的 - 它们没有与之关联的日期,并且永远不会知道。
标签: python python-2.7 datetime time pytz