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

为何datetime.now().isoformat()返回的字符串对time.fromisoformat()无效

问题原因分析
  • datetime.now().isoformat()生成的是带日期信息的完整ISO时间字符串,格式为YYYY-MM-DDTHH:MM:SS.ffffff,同时包含日期、时间两部分,是datetime类型对应的标准ISO格式。
  • time.fromisoformat()方法仅支持接收纯时间格式的ISO字符串,仅允许输入HH:MM:SS.ffffff或带时区后缀的纯时间内容,不能包含日期部分和分隔符T,因此传入带日期的完整字符串时会触发格式校验错误。
正确实现方式

如果需要获取当前时间的time对象,有两种常见的可行方案:

  1. 直接调用datetime对象的time()方法提取时间部分,不需要转字符串再解析,性能更高也更不易出错:
from datetime import datetime, time
current_time = datetime.now().time()
  1. 若必须通过ISO格式字符串转换实现,需要先从完整字符串中拆分出时间部分,移除T及之前的日期内容:
from datetime import datetime, time
full_iso_str = datetime.now().isoformat()
time_part = full_iso_str.split('T')[1]
current_time = time.fromisoformat(time_part)

内容的提问来源于stack exchange,提问作者Wes Williams

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 06:45:04