【发布时间】:2018-01-27 01:30:21
【问题描述】:
谁能解释一下为什么我没有得到相同的结果?
import datetime,pytz
var1 = datetime.datetime(2017,10,25,20,10,50,tzinfo=pytz.timezone("Europe/Athens")))
print(var1)
这段代码的输出是:2017-10-25 20:10:50+01:35
import datetime,pytz
var1 = datetime.datetime(2017,10,25,20,10,50)
var1 = pytz.timezone("Europe/Athens").localize(var1)
print(var1)
这段代码的输出是:2017-10-25 20:10:50+03:00
我的问题是为什么他们有不同的时区(1:35 和 3:00)。我知道第二个代码是正确的,因为我的 UTC 是 3:00。但是你能告诉我为什么我在第一个得到1:35 吗?
【问题讨论】:
-
您在第二个示例中调用
localize,而不是在第一个示例中。鉴于我预计会有差异,特别是考虑到pytz的文档:这个库只支持两种构建本地化时间的方法。第一种是使用localize()[...]第二种构建本地化时间的方法是使用标准astimezone()转换现有的本地化时间 -
@KwnstantinosNikoloutsos 找到适合您的答案后,请单击该答案旁边的勾号以接受它。这可以让其他有您问题的人知道哪种解决方案适合您。
-
@AdiC 好的,等待更多人看到并写下,以解决我面临的问题。
标签: python datetime timezone pytz