Python提供了不同的包(datetime, time, calendar)来处理时间。我犯了一个大错误,使用以下命令获取当前的GMT时间time.mktime(datetime.datetime.utcnow().timetuple()))

用Unix时间戳获取当前格林尼治时间的简单方法是什么?


当前回答

#First Example:
from datetime import datetime, timezone    
timstamp1 =int(datetime.now(tz=timezone.utc).timestamp() * 1000)
print(timstamp1)

输出:1572878043380

#second example:
import time
timstamp2 =int(time.time())
print(timstamp2)

输出:1572878043

在这里,我们可以看到第一个例子给出的时间比第二个更准确。 这里我用的是第一个。

其他回答

from datetime import datetime as dt
dt.utcnow().strftime("%s")

输出:

1544524990
#First Example:
from datetime import datetime, timezone    
timstamp1 =int(datetime.now(tz=timezone.utc).timestamp() * 1000)
print(timstamp1)

输出:1572878043380

#second example:
import time
timstamp2 =int(time.time())
print(timstamp2)

输出:1572878043

在这里,我们可以看到第一个例子给出的时间比第二个更准确。 这里我用的是第一个。

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'