我不明白,为什么下面的代码减去UNIX纪元时间戳的一个小时(在时区UTC + 1):时区处理对象
import datetime
import pytz
start_dt = datetime.datetime.fromtimestamp(1362268800 , pytz.utc)
print start_dt
# prints datetime.datetime(2013, 3, 3, 0, 0, tzinfo=<UTC>)
print int(start_dt.strftime("%s"))
# prints: 1362265200 (which is 2013-03-02T23:00Z) <--- I expected 1362268800
print start_dt.strftime("%Y-%m-%dT%H:%M:%SZ")
# prints: 2013-03-03T00:00:00Z
因为我已经在我的问题,通过砍死使用calendar.timegm(start_ts.timetuple())
,但我从根本上想知道上面的代码有什么问题,以及如何创建UTC格式的日期时间对象,以及strftime将打印历元时间戳的位置。
根据python文档使用“%s”不是特别允许的。是否应该明确地不允许(即引发异常?)如果它导致混淆结果?
使用Python 2.7.3
[将日期,日期时间对象转换为POSIX时间戳的各种方法](http://stackoverflow.com/a/8778548/4279) – jfs 2013-03-13 09:26:59