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

Python中如何将日期对象转换为字符串?运算报错如何解决?

报错翻译与原因分析

报错原文翻译:不支持的操作数类型用于 - 运算:datetime.datetime 类型和 str 类型无法直接相减

错误根本原因是你定义的lastUpdate是字符串类型,而now是带UTC时区的datetime对象,Python不允许两种不同类型的变量直接做算术减法运算,你需要先把字符串格式的时间转换为同标准的datetime类型后再进行差值计算。

解决方法
  • 调用datetime.datetime.strptime()方法,按照你字符串的时间格式匹配规则,把字符串时间转成带时区的datetime对象
  • 转换完成后两个同类型的datetime对象就可以正常计算时间差,后续你要转成字符串输出的需求也可以正常实现
修正后可运行代码
import json
import datetime

def lambda_handler(event, context):
    lastUpdate_str = "2020-09-17 03:59:21+00:00"
    # 按字符串格式规则转换为带时区的datetime对象
    lastUpdate = datetime.datetime.strptime(lastUpdate_str, "%Y-%m-%d %H:%M:%S%z")
    now = datetime.datetime.now().replace(tzinfo=datetime.timezone.utc)
    # 正常计算时间差
    diff = now - lastUpdate
    # 字符串拼接输出
    print("Now:" + str(now) + " lastUpdate:" + lastUpdate_str)
    print("时间差值:" + str(diff))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 04:36:07