python - 将 UTC 时间戳转换为 unixtime

标签 python python-2.7 datetime

我正在尝试将我的时间戳转换为 unixtime,注意它不是 UTC,但是 unixtime 是不正确的。

import time
import datetime
from dateutil.parser import parse

time_str = '2017-03-09T15:44:40.000-05:00'

time_obj = parse(time_str)

print time_obj

unixtime = time.mktime(time_obj.timetuple())

print unixtime

它返回的 unixtime 是 1489092280.0 代表 03/09/2017 @ 8:44pm (UTC) 而我想要的是 1489074280.

最佳答案

time.mktime 需要分解后的本地时间并按原样处理输入,即将其转换为 UTC,然后构建自纪元以来的秒数时间戳。由于您已经有了分割的 UTC 时间,因此您需要改为调用 calendar.timegm:

>>> unixtime = calendar.timegm(time_obj.timetuple())
>>> print unixtime
1489074280

关于python - 将 UTC 时间戳转换为 unixtime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44439765/

相关文章:

perl - 如何将 DateTime::Locale 中的格式与 DateTime 对象一起使用?

.net - 将 ISO 8601 字符串解析为 .NET 中的 DateTime?

python - Pycharm2018中的pip版本

python - 在python中查找对象内列表的长度

javascript - 如何使用 axios 从 flask 中获取图像

python-2.7 - xgboost模型的getfscore:'str'对象不可调用

python - Beautifulsoup:当我尝试使用 Beautifulsoup4 访问 soup.head.next_sibling 值时换行

SQL 日期查询 - 此条件成立多长时间

python - 鉴于我的代码是开源的并且我在服务器上运行,并且我接受近乎原始的代码,那么最糟糕的情况是什么?

python - 按过滤列对数据框进行子集化