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

从HTTP响应提取过期日期时datetime.fromisoformat报错求助

解决datetime.fromisoformat解析日期报错的问题

你遇到的错误是因为提取到的日期字符串格式不符合datetime.fromisoformat()的解析规则,最常见的情况是日期以Z结尾(比如2025-12-31T23:59:59Z),Python 3.11及更早版本不支持这种格式,会抛出ValueError: Invalid isoformat string。

给你几个可行的解决办法:

  • 替换Z字符(兼容低版本Python)
    把日期里的Z换成+00:00,再用fromisoformat()解析:

    from datetime import datetime
    
    Expiry_Date = Expiry_Data['response']['Expiry Date']
    # 替换Z为UTC时区标识
    fixed_date_str = Expiry_Date.replace('Z', '+00:00')
    ExpiryDate = datetime.fromisoformat(fixed_date_str)
    print(ExpiryDate)
    
  • 用dateutil库解析(通用适配各种格式)
    如果不确定日期格式,用python-dateutil的解析工具,能自动识别多种格式:

    1. 先安装库:
      pip install python-dateutil
      
    2. 修改代码:
      from dateutil import parser
      
      Expiry_Date = Expiry_Data['response']['Expiry Date']
      ExpiryDate = parser.parse(Expiry_Date)
      print(ExpiryDate)
      
  • 升级Python到3.11+
    Python 3.11及以后的版本已经支持直接解析带Z的日期字符串,升级后就能直接用原来的代码。

另外建议先打印Expiry_Date的具体值,确认日期格式后再选对应的方法:

print("提取到的日期:", Expiry_Date)

内容的提问来源于stack exchange,提问作者Paul Hanna

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 09:42:42