相关疑难解决方法(0)

在Python中将datetime.date转换为UTC时间戳

我正在处理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获得自纪元以来转换为秒的日期?

python datetime utc

281
推荐指数
6
解决办法
51万
查看次数

使用strftime将python datetime转换为epoch

我有一段时间在UTC,从那里我想要自纪元以来的秒数.

我使用strftime将其转换为秒数.以2012年4月1日为例.

>>>datetime.datetime(2012,04,01,0,0).strftime('%s')
'1333234800'
Run Code Online (Sandbox Code Playgroud)

2012年4月1日UTC的纪元是1333238400但是这个上面返回1333234800,相差1小时.

所以看起来strftime正在考虑我的系统时间并在某个地方应用时区转换.我以为datetime纯粹是天真的?

我怎么能绕过那个?如果可能的话,避免导入其他库,除非标准.(我有可移植性问题).

python datetime utc strftime epoch

193
推荐指数
5
解决办法
27万
查看次数

标签 统计

datetime ×2

python ×2

utc ×2

epoch ×1

strftime ×1