
python计算带毫秒的时间戳
我想通过Python代码获得包含毫秒的当前时间戳,有哪些方法可以实现?
使用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)
这样就可以得到带毫秒的时间戳。
有一个包含毫秒部分的时间字符串,如何用Python转换成对应的时间戳?
使用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)
这样就得到对应的毫秒级时间戳。
我用Python获取时间戳,却发现很多时候值都是整数,没有毫秒信息,这是什么原因?
区分整型和浮点时间戳,并注意格式化输出
Python的time.time()返回的是带有小数部分的浮点数,代表秒及其小数部分。如果将其强制转成整型或格式化输出时只显示整数,就会丢失毫秒部分。确保保持为浮点数,或将其乘以1000并取整,才能得到包含毫秒的时间戳。另外,打印时需注意格式化,避免只显示整数。