import time
print time.strftime("%a, %d %b %Y %I:%M %p %Z", time.gmtime())
Run Code Online (Sandbox Code Playgroud)
我居住在加利福尼亚州.出于某种原因,此代码报告GMT中的时间,而不是遵守系统时区.我知道strftime知道我在太平洋,因为它仍然在最后打印'PST',但它仍然提前8小时.还有其他人注意到这一点吗?任何人都知道我的系统或我的代码有什么问题吗?
编辑:date在命令行运行给我正确的日期.另外,我在两台不同的计算机(mac和linux)上运行它们,它们都提前8小时报告.您是否希望在使用strftime之前纠正时区?
thk*_*ala 30
time.gmtime()以UTC返回时间.你需要的是time.localtime(),这是时区感知的.time模块文档中详细记录了此行为.
编辑:
要将任何time.time()样式时间戳转换为a struct_time,您可以提供以下参数
time.localtime():
>>> print time.strftime("%a, %d %b %Y %I:%M:%S %p %Z", time.localtime(10.5))
Thu, 01 Jan 1970 02:00:10 AM EET
Run Code Online (Sandbox Code Playgroud)