You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何将带微秒的字符串完整转换为datetime.datetime对象

问题原因排查

你的代码存在两个明确错误,导致无法完成转换:

  • 变量名误用:第三行strptime的第一个参数使用了未定义的time变量,直接触发NameError,你存储时间字符串的变量是now
  • 格式模板不匹配:datetime对象直接转字符串的默认格式为年-月-日 时:分:秒.微秒,你使用的%m/%d/%Y是斜杠分隔的「月/日/年」格式,和实际字符串结构完全不符
可直接运行的解决方案

以下代码可以实现字符串转datetime、完整保留微秒的需求:

import datetime

# 生成带微秒的原始datetime对象
original_dt = datetime.datetime.now()
# 转换为字符串(默认格式自带微秒部分)
time_str = str(original_dt)
# 使用匹配的格式模板转换回datetime
parsed_dt = datetime.datetime.strptime(time_str, "%Y-%m-%d %H:%M:%S.%f")

# 验证微秒保留效果
print("原始微秒值:", original_dt.microsecond)
print("转换后微秒值:", parsed_dt.microsecond)
print("两个datetime对象是否完全相等:", original_dt == parsed_dt)
补充说明
  • %f是Python datetime模块专门用于匹配微秒的占位符,支持000000~999999范围的微秒读取,只要你的时间字符串包含微秒部分,加上该占位符即可完整解析
  • 如果你的时间字符串不是datetime默认转字符串的格式,只要按照实际结构调整格式模板即可,比如字符串为2021/11/03 03:12:14.470747,就把格式模板改为%Y/%m/%d %H:%M:%S.%f

内容的提问来源于stack exchange,提问作者Ahmed Nishaal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 17:15:05