如何在Python的datetime()中强制显示微秒?
解决办法
直接打印datetime对象时,它会根据是否存在非零微秒自动调整输出格式。要获得统一的YYYY-MM-DD HH:MM:SS.ffffff格式,你需要手动指定格式化规则:
- 使用
strftime()方法:该方法支持自定义datetime的输出格式,其中%f对应6位微秒(不足6位会自动补0)。 - 或者使用格式化字符串(f-string),同样通过
%f占位符控制微秒部分的显示。
示例代码:
from datetime import datetime date1 = datetime(2023, 1, 11, 14, 0, 0, 123456) date2 = datetime(2023, 1, 11, 14, 0, 0) # 方法1:strftime格式化 print(date1.strftime("%Y-%m-%d %H:%M:%S.%f")) # 输出:2023-01-11 14:00:00.123456 print(date2.strftime("%Y-%m-%d %H:%M:%S.%f")) # 输出:2023-01-11 14:00:00.000000 # 方法2:f-string格式化 print(f"{date1:%Y-%m-%d %H:%M:%S.%f}") # 输出:2023-01-11 14:00:00.123456 print(f"{date2:%Y-%m-%d %H:%M:%S.%f}") # 输出:2023-01-11 14:00:00.000000
通过以上方式,无论datetime对象是否包含非零微秒,输出都会严格遵循你需要的可预测格式。
内容的提问来源于stack exchange,提问作者Mr. B.
相关产品推荐
相关产品推荐

