2024-04-18 10:13:56 发布
网友
如何反转gmtime(),在这里输入时间+日期并获得秒数?
gmtime()
我有像'Jul 9, 2009 @ 20:02:58 UTC'这样的字符串,我想返回纪元到2009年7月9日之间的秒数。
'Jul 9, 2009 @ 20:02:58 UTC'
我试过time.strftime但是我不知道如何正确使用它,或者它是否是正确的命令。
time.strftime
使用time模块:
epoch_time = int(time.time())
注意time.gmtime将时间戳0映射到1970-1-1 00:00:00。
time.gmtime
0
1970-1-1 00:00:00
In [61]: import time In [63]: time.gmtime(0) Out[63]: time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=1, tm_isdst=0)
time.mktime(time.gmtime(0))为您提供一个时间戳,其偏移量取决于您的区域设置,通常情况下,时间戳可能不是0。
time.mktime(time.gmtime(0))
In [64]: time.mktime(time.gmtime(0)) Out[64]: 18000.0
与time.gmtime相反的是calendar.timegm:
calendar.timegm
In [62]: import calendar In [65]: calendar.timegm(time.gmtime(0)) Out[65]: 0
如果您是因为Google告诉您这是如何获取Unix时间戳而来到这里的,请停止阅读此答案。向下滚动一个。
如果要反转time.gmtime(),则需要calendar.timegm()。
time.gmtime()
calendar.timegm()
>>> calendar.timegm(time.gmtime()) 1293581619.0
可以使用time.strptime()将字符串转换为时间元组,该时间元组返回一个可以传递给calendar.timegm()的时间元组:
time.strptime()
>>> import calendar >>> import time >>> calendar.timegm(time.strptime('Jul 9, 2009 @ 20:02:58 UTC', '%b %d, %Y @ %H:%M:%S UTC')) 1247169778
有关日历模块here的详细信息
使用time模块:
注意
time.gmtime
将时间戳0
映射到1970-1-1 00:00:00
。time.mktime(time.gmtime(0))
为您提供一个时间戳,其偏移量取决于您的区域设置,通常情况下,时间戳可能不是0。与
time.gmtime
相反的是calendar.timegm
:如果您是因为Google告诉您这是如何获取Unix时间戳而来到这里的,请停止阅读此答案。向下滚动一个。
如果要反转
time.gmtime()
,则需要calendar.timegm()
。可以使用
time.strptime()
将字符串转换为时间元组,该时间元组返回一个可以传递给calendar.timegm()
的时间元组:有关日历模块here的详细信息
相关问题 更多 >
编程相关推荐