我有一个UTC时间,我想要从纪元开始的秒数。
我正在使用strftime将其转换为秒数。以2012年4月1日为例。
>>>datetime.datetime(2012,04,01,0,0).strftime('%s')
'1333234800'
2012年4月1日从epoch开始的UTC是133324800,但上面返回的133324800与1小时不同。
所以看起来strftime正在考虑我的系统时间,并在某个地方应用时区偏移。我以为约会时间纯属天真?
我怎样才能避开那件事?如果可能,避免导入其他库,除非是标准库。(我担心可移植性)。
Tags:
如果要将python datetime转换为epoch之后的秒数,可以显式地执行此操作:
在Python 3.3+中,可以使用^{} 代替:
为什么不应该使用
datetime.strftime('%s')
Python实际上不支持将%s作为strftime的参数(如果您在http://docs.python.org/library/datetime.html#strftime-and-strptime-behavior处检查,它不在列表中),它工作的唯一原因是Python正在将信息传递给系统的strftime,后者使用您的本地时区。
我有严重的时区问题等等。Python处理这些事情的方式(对我来说)非常混乱。使用日历模块似乎一切正常(请参阅链接1、2、3和4)。
相关问题 更多 >
编程相关推荐