Python中如何显示毫秒

Python中如何显示毫秒

作者:Joshua Lee发布时间:2026-01-05阅读时长:0 分钟阅读次数:6

用户关注问题

Q
怎样在Python中格式化时间以包含毫秒?

我想在Python中显示当前时间,并且包含毫秒部分,应该采用什么方法?

A

使用datetime模块的strftime格式化时间以显示毫秒

Python的datetime模块中,strftime函数默认不支持直接显示毫秒,但可以通过%f格式化代码来表示微秒(6位数字),将其除以1000即可得到毫秒。示例如下:

from datetime import datetime
now = datetime.now()
formatted_time = now.strftime('%Y-%m-%d %H:%M:%S.%f')[:-3]
print(formatted_time)

上述代码中,通过切片[:-3]截取掉微秒的后三位,从而得到毫秒精度的时间字符串。

Q
是否有其他方式可以在Python中获取包含毫秒的时间?

除了使用datetime模块,我还能用什么方法在Python代码中获取并显示含有毫秒的时间?

A

利用time模块的time()函数获取时间戳并转换为包含毫秒的格式

time模块中的time()函数返回当前时间的时间戳,单位为秒(带小数部分),该小数部分即表示毫秒及更小时间单位。示例代码:

import time
current_time = time.time()
milliseconds = int((current_time - int(current_time)) * 1000)
print(f'当前时间戳毫秒部分: {milliseconds}')

若要以可读时间格式包含毫秒,可结合datetime使用该时间戳。

Q
在Python中打印日志时如何确保时间戳包含毫秒?

我想在Python的日志输出中添加包含毫秒的时间戳,有什么推荐的做法?

A

配置logging模块格式串以输出毫秒信息

Python的logging模块允许自定义日志记录格式,通过format字符串使用%(asctime)s可显示时间。要显示毫秒,可以使用如下配置:

import logging
logging.basicConfig(format='%(asctime)s.%(msecs)03d %(levelname)s: %(message)s', datefmt='%Y-%m-%d %H:%M:%S')
logging.warning('这是包含毫秒的日志示例')

这样,日志中的时间戳将以秒为单位格式化,并附加3位毫秒数。