>>> import time
>>> t=1440935442
>>> time.strftime("%Y/%m/%d-%H:%M:%S %z",time.gmtime(t))
'2015/08/30-11:50:42 +0000'
>>> time.strftime("%Y/%m/%d-%H:%M:%S %z",time.localtime(t))
'2015/08/30-13:50:42 +0000'
偏移保持不变0000,但我希望 '2015/08/30-13:50:42 0200'蟒time.strftime%z是总是为零,而不是时区偏移
的时区是正确的,但该命令解释资本%Z,因为它应该
>>> time.strftime("%Y/%m/%d-%H:%M:%S %Z",time.localtime(t))
'2015/08/30-13:50:42 CEST'
Unix的日期是像我想
$ date -u --date @1440935442 +"%Y/%m/%d-%H:%M:%S %z"
2015/08/30-11:50:42 +0000
$ date --date @1440935442 +"%Y/%m/%d-%H:%M:%S %z"
2015/08/30-13:50:42 +0200
我看到了同样的结果,但要注意在文档中:“使用%Z现在已经过时,而是扩展到%Z逃生所有ANSI C库都不支持首选的小时/分钟偏移量。“ –
(我看不出什么东西可以和strftime做同样的事情,也许你应该看看datetime模块?) –
因为我在一个标准的linux系统上,我期望%z在ansi库中。但它没有按预期工作。这有点难过。我会研究日期时间,但这意味着可能我所有的代码都需要改变。 – Gunstick