我有一个网络应用程序,通过JS脚本捕获日期/时间,并计算自UTC格式的纪元以来的秒数 - ex 134250270000.在后端,我们有一个Python脚本,从DB获取数据,但日期/时间存储在数量中自PST格式以来的秒数如果从纪元开始算起,UTC和PST之间的秒数总是不同。
有没有什么方法可以将UTC时间从纪元转换为纪元以来的时钟到PST秒?我们还需要注意PST时区的日光变化吗?
EDIT ::
I have the seconds since epoch in UTC format:
1342502700
I found that I get the sum in seconds between UTC and local standard time via:
>>> time.timezone / 3600
8
So If I add 1342502700 to time.timezone:
>>> print 1342502700 + time.timezone
1344153600
它总能正确地给我PDT / PST时间吗?
EDIT ::
也许这是正确的:
>>> import time
>>> offset = time.timezone if (time.daylight == 0) else time.altzone
>>> offset / 60 / 60
7
如果夏令时当前有效,则time.daylight将为非零。
答案 0 :(得分:0)
我认为在转换的某个地方有一个隐含的时区会让事情搞得一团糟。无论如何,我认为您正在寻找的是time.altzone:
>>> from time import *
>>> ctime(time())
'Mon Aug 13 16:54:02 2012'
>>> ctime(time()+altzone)
'Mon Aug 13 08:54:04 2012'
我现在在台北时间,所以当地时间(第一次)晚于UTC。
编辑: 如果altzone
非零,我在文档中错过了仅使用daylight
的内容。显然,如果你住在夏令时的某个地方,它会比我想象的要复杂一点。如果您需要处理,请参阅此帖: