python计算带毫秒的时间戳

python计算带毫秒的时间戳

作者:William Gu发布时间:2026-03-28 23:14阅读时长:13 分钟阅读次数:8
常见问答
Q
如何用Python获取当前时间的毫秒级时间戳?

我想通过Python代码获得包含毫秒的当前时间戳,有哪些方法可以实现?

A

使用time模块和datetime模块获取毫秒级时间戳

在Python中,可以使用time.time()函数获取当前时间的秒级时间戳,通过乘以1000转换为毫秒。另一个方法是使用datetime模块获取当前时间,然后将其转换为时间戳并乘以1000。例如:

import time
ms_timestamp = int(time.time() * 1000)

或者:

from datetime import datetime
ms_timestamp = int(datetime.now().timestamp() * 1000)

这样就可以得到带毫秒的时间戳。

Q
如何将字符串格式的时间转换成带毫秒的时间戳?

有一个包含毫秒部分的时间字符串,如何用Python转换成对应的时间戳?

A

使用datetime.strptime解析时间字符串后转换为时间戳

可以先用datetime.strptime函数根据时间字符串的格式将其转换为datetime对象。解析时要包括毫秒格式符号'%f'。然后使用timestamp()方法获取秒级时间戳,再乘以1000转成毫秒单位。例如:

from datetime import datetime
time_str = '2024-06-01 12:30:45.123'
dt = datetime.strptime(time_str, '%Y-%m-%d %H:%M:%S.%f')
ts = int(dt.timestamp() * 1000)

这样就得到对应的毫秒级时间戳。

Q
为什么有时Python获取的时间戳没有毫秒部分?

我用Python获取时间戳,却发现很多时候值都是整数,没有毫秒信息,这是什么原因?

A

区分整型和浮点时间戳,并注意格式化输出

Python的time.time()返回的是带有小数部分的浮点数,代表秒及其小数部分。如果将其强制转成整型或格式化输出时只显示整数,就会丢失毫秒部分。确保保持为浮点数,或将其乘以1000并取整,才能得到包含毫秒的时间戳。另外,打印时需注意格式化,避免只显示整数。