我正在处理Python中的日期,我需要将它们转换为UTC时间戳,以便在Javascript中使用.以下代码不起作用:
>>> d = datetime.date(2011,01,01)
>>> datetime.datetime.utcfromtimestamp(time.mktime(d.timetuple()))
datetime.datetime(2010, 12, 31, 23, 0)
Run Code Online (Sandbox Code Playgroud)
将日期对象首先转换为datetime也无济于事.我试过这个链接的例子,但是:
from pytz import utc, timezone
from datetime import datetime
from time import mktime
input_date = datetime(year=2011, month=1, day=15)
Run Code Online (Sandbox Code Playgroud)
现在要么:
mktime(utc.localize(input_date).utctimetuple())
Run Code Online (Sandbox Code Playgroud)
要么
mktime(timezone('US/Eastern').localize(input_date).utctimetuple())
Run Code Online (Sandbox Code Playgroud)
确实有效.
所以一般的问题:如何根据UTC获得自纪元以来转换为秒的日期?
我从epoch开始使用日期,并且已经有了,例如:
date = 6928727.56235
Run Code Online (Sandbox Code Playgroud)
我想将其转换为另一种相对格式,以便我能够将其转换为相对于纪元的内容.
使用time.gmtime(date),它返回
year=1970, mon=3, day=22, hour=4, min=38, sec=47
Run Code Online (Sandbox Code Playgroud)
我认为epoch开始于'01/01/1970 00:00:00',所以该方法应该返回相对日期,例如:
'2 months 21 days 04:38:47'
Run Code Online (Sandbox Code Playgroud)
有什么帮助吗?