我从Python程序中的Web服务检索Unix时间戳。该时间戳是美国时区。为了将它与其他在法国本地化的对象一起插入MySQL数据库中,我想将此时间戳转换为法国时区。
我可以用数学函数来做到这一点,但是存在夏令时的问题。我更喜欢使用Python时间和日期特定的函数来处理这些概念。
您有提示吗,我迷失了Python文档?
过去,当我们从服务提供商处下载文件的时间戳具有与PST时区相对应的时间戳时,我遇到了类似的问题。以下内容帮助我完成了转换:
import pytz, datetime, time import os originalTimeStamp = os.stat("/tmp/file-from-us-west-coast").st_mtime # prints e.g. 2010-03-31 13:01:18 print "original:",datetime.datetime.fromtimestamp(originalTimeStamp) # re-interpret originalTimeZone = "America/Los_Angeles" targetTimeZone = "Europe/Paris" newTimeStamp = pytz.timezone(originalTimeZone).localize(datetime.datetime.fromtimestamp(originalTimeStamp)).astimezone(pytz.timezone(targetTimeZone)) # prints e.g. 2010-03-31 22:01:18+02:00 print "new: ",newTimeStamp # convert back to seconds since epoch newTimeStamp = time.mktime(newTimeStamp.timetuple()) # print time difference in hours print (newTimeStamp - originalTimeStamp) / 3600.0