我正在使用 pytz 将纪元时间戳转换为不同时区的日期。我想要做的是创建一个 DateTime 对象,它接受一个 Olson 数据库时区和一个纪元时间并返回一个本地化的 datetime 对象。最终,我需要回答诸如“纪元时间 1350663248 在纽约几点钟?”之类的问题。
这里有些东西不能正常工作:
import datetime, pytz, time
class DateTime:
def __init__(self, timezone, epoch):
self.timezone = timezone
self.epoch = epoch
timezoneobject = pytz.timezone(timezone)
datetimeobject = datetime.datetime.fromtimestamp( self.epoch )
self.datetime = timezoneobject.localize(datetimeobject)
def hour(self):
return self.datetime.hour
if __name__=='__main__':
epoch = time.time()
dt = DateTime('America/Los_Angeles',epoch)
print dt.datetime.hour
dt = DateTime('America/New_York',epoch)
print dt.datetime.hour
这将打印相同的小时,而一个应该提前 3 小时左右。这里出了什么问题?我是一个 Python 初学者,感谢任何帮助!