Python提供了不同的包(datetime, time, calendar)来处理时间。我犯了一个大错误,使用以下命令获取当前的GMT时间time.mktime(datetime.datetime.utcnow().timetuple()))
用Unix时间戳获取当前格林尼治时间的简单方法是什么?
Python提供了不同的包(datetime, time, calendar)来处理时间。我犯了一个大错误,使用以下命令获取当前的GMT时间time.mktime(datetime.datetime.utcnow().timetuple()))
用Unix时间戳获取当前格林尼治时间的简单方法是什么?
当前回答
import time
int(time.time())
输出:
1521462189
其他回答
这有用吗?
from datetime import datetime
import calendar
d = datetime.utcnow()
unixtime = calendar.timegm(d.utctimetuple())
print unixtime
如何将Python UTC日期时间对象转换为UNIX时间戳
至少在python3中,这是有效的:
>>> datetime.strftime(datetime.utcnow(), "%s")
'1587503279'
我将使用time.time()来获得一个时间戳,以秒为单位。
import time
time.time()
输出:
1369550494.884832
对于大多数平台上的标准CPython实现,这将返回一个UTC值。
我喜欢这个方法:
import datetime, time
dts = datetime.datetime.utcnow()
epochtime = round(time.mktime(dts.timetuple()) + dts.microsecond/1e6)
这里发布的其他方法要么不保证在所有平台上为您提供UTC,要么只报告整个秒数。如果你想要完整的分辨率,这个可以做到微秒级。
import time
int(time.time())
输出:
1521462189