首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将UTC时间转换为纪元格式

问将UTC时间转换为纪元格式
EN

Stack Overflow用户
提问于 2019-05-09 10:11:21
回答 2查看 483关注 0票数 0

我正在尝试将特定的UTC时间和日期转换为自纪元以来的秒数;但是,由于我不在UTC时区,我还不能确定如何执行此操作。

我尝试使用datetime模块将日期和时间转换为自纪元以来的秒数,但python一直使用系统的本地时间,因此返回值相差7小时。我知道我可以简单地减去7*60,这样它就可以在我的时区工作;然而,我需要它在多个时区工作,而不需要将时间更改硬编码到我的程序中。

这是有效的,除非它使用系统时间(MST),但我正在寻找一种解决方案,特别是UTC时间。注意,这里定义的变量表示UTC时间的一个示例,我试图将该时间转换为自纪元以来的秒数。

代码语言:javascript
复制
import datetime

year=2019
month=5
day=9
hour=21
minute=45

Time=datetime.datetime(year, month, day, hour, minute).timestamp()
print(Time)

输出:

代码语言:javascript
复制
1557463500.0

所需输出(提前7小时):

代码语言:javascript
复制
1557438300.0
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-09 10:43:41

代码语言:javascript
复制
import datetime

year=2019
month=5
day=9
hour=21
minute=45

e = datetime.datetime(1970, 1, 1, 0, 0)
t = datetime.datetime(year, month, day, hour, minute)
print((t-e).total_seconds())
票数 0
EN

Stack Overflow用户

发布于 2019-05-09 11:41:05

您可以使用datetime.datetime.utcfromtimestamp(0).timestamp()计算纪元日期的时间戳,然后从中减去当前的时间戳

代码语言:javascript
复制
import datetime

year=2019
month=5
day=9
hour=21
minute=45

#Date timestamp
dt_timestamp=datetime.datetime(year, month, day, hour, minute).timestamp()

#Epoch timestamp
epoch = datetime.datetime.utcfromtimestamp(0).timestamp()

#Epoch
print(dt_timestamp-epoch)

输出将是

代码语言:javascript
复制
1557438300.0
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56051263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档