举个例子:
import datetime
import pprint
import time
now_unaware = datetime.datetime.now()
print "Time gotten from the OS: "
pprint.pprint now_unaware
#OUTPUT: datetime.datetime(2016, 4, 7, 17, 4, 54, 689054)
#COMMENT: The time is correct for the zone, but now_unaware doesn't explicitly know what zone is this.
print "My timezone:"
pprint.pprint(time.tzname[time.daylight])
##OUTPUT: 'CEST'
请证实或反驳我的假设。你知道吗
假设
鉴于上述信息,我应该有足够的信息:
now_unaware
意识到时区而不需要任何时区硬编码,因为'CEST'明确地定义了与UTC的关系now_unaware
转换为UTC,而无需导入任何其他库
你的第一个假设是正确的。听起来你想定位你的时间对象。你知道吗
你的第二个假设有点正确。在python3中,由于datetime.timezone,只使用标准库更容易处理时区。你知道吗
但是在python2中,仅使用标准库是不容易做到的。您将需要子类tzinfo。请看tzinfo链接中的“示例tzinfo类”。你知道吗
最后,你对解决问题的态度是正确的。如果只使用标准库就可以做到这一点。我认为python3解决了这个问题,这就是python2用户倾向于向他们的项目中添加pytz包的原因。你知道吗
如果你感兴趣,有一个关于它的冗长的讨论here。你知道吗
相关问题 更多 >
编程相关推荐