Cor*_*ory 132 python time unix-timestamp
Python提供不同的套餐(datetime
,time
,calendar
),可以看出这里为了应对时间.通过使用以下内容来获取当前的GMT时间,我犯了一个大错误time.mktime(datetime.datetime.utcnow().timetuple())
在Unix时间戳中获取当前GMT时间的简单方法是什么?
Edm*_*ett 193
我会使用time.time()来获取自纪元以来秒数的时间戳.
import time
time.time()
Run Code Online (Sandbox Code Playgroud)
输出:
1369550494.884832
Run Code Online (Sandbox Code Playgroud)
对于大多数平台上的标准CPython实现,这将返回UTC值.
Max*_*Max 89
import time
int(time.time())
Run Code Online (Sandbox Code Playgroud)
输出:
1521462189
Run Code Online (Sandbox Code Playgroud)
Nic*_*ger 41
这有帮助吗?
from datetime import datetime
import calendar
d = datetime.utcnow()
unixtime = calendar.timegm(d.utctimetuple())
print unixtime
Run Code Online (Sandbox Code Playgroud)
Mik*_*ikA 31
蟒蛇2和蟒蛇3
使用时间模块很好
import time
int(time.time())
Run Code Online (Sandbox Code Playgroud)
1573708436
您也可以使用 datetime 模块,但是当您使用 strftime('%s') 时,但 strftime 将时间转换为您的本地时间!
蟒蛇2
from datetime import datetime
datetime.utcnow().strftime('%s')
Run Code Online (Sandbox Code Playgroud)
蟒蛇3
from datetime import datetime
datetime.utcnow().timestamp()
Run Code Online (Sandbox Code Playgroud)
Sta*_*iel 19
具有微秒十进制分辨率的 Python 3 秒:
from datetime import datetime
print(datetime.now().timestamp())
Run Code Online (Sandbox Code Playgroud)
Python 3 整数秒:
print(int(datetime.now().timestamp()))
Run Code Online (Sandbox Code Playgroud)
datetime.utcnow().timestamp()
!datetime.utcnow()
是一个非时区感知对象。请参阅参考:https : //docs.python.org/3/library/datetime.html#aware-and-naive-objects
对于类似世界标准时间凌晨 1 点的情况:
from datetime import timezone
print(datetime(1970,1,1,1,0,tzinfo=timezone.utc).timestamp())
Run Code Online (Sandbox Code Playgroud)
或者
print(datetime.fromisoformat('1970-01-01T01:00:00+00:00').timestamp())
Run Code Online (Sandbox Code Playgroud)
如果删除tzinfo=timezone.utc
or +00:00
,您将获得取决于您当前本地时间的结果。例如:您当前时区的 1970 年 1 月 1 日凌晨 1 点 - 这可能是合法的 - 例如,如果您想要出生那一刻的时间戳,您应该使用您出生的时区。但是,来自的时间戳datetime.utcnow().timestamp()
既不是本地时间或 UTC 中的当前时刻。例如,我现在在 GMT-7:00,并datetime.utcnow().timestamp()
给出未来 7 小时的时间戳!
Mar*_*esh 14
或者只是简单地使用datetime标准模块
In [2]: from datetime import timezone, datetime
...: int(datetime.now(tz=timezone.utc).timestamp() * 1000)
...:
Out[2]: 1514901741720
Run Code Online (Sandbox Code Playgroud)
您可以根据需要的分辨率截断或相乘。此示例输出毫。
如果您想要正确的Unix时间戳(以秒为单位),请删除* 1000
小智 6
至少在python3中,这是有效的:
>>> datetime.strftime(datetime.utcnow(), "%s")
'1587503279'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
186049 次 |
最近记录: |