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

如何计算两个datetime对象的平均值?列表插入代码结果异常求助

问题排查与修复

你的代码核心问题是运算优先级错误,导致没有正确计算两个时间戳的平均值:
原代码中 offsetMat[i][j].timestamp()+offsetMat[i][j+1].timestamp()/2 会先计算第二个时间戳的一半,再和第一个时间戳相加,这并非两个时间的平均值。正确的平均值逻辑应该是先将两个时间戳求和,再整体除以2。

修复后的代码

# 先对两个时间戳求和,再计算平均值
avg_timestamp = (offsetMat[i][j].timestamp() + offsetMat[i][j+1].timestamp()) / 2
temp = datetime.fromtimestamp(avg_timestamp)
offsetMat[i].insert(j, temp)

额外注意事项

  • 如果你的datetime对象包含时区信息(带tzinfo),timestamp()方法会自动转换为UTC时间戳,fromtimestamp()默认会将时间戳转换为本地时区的datetime。若需要保持时区一致性,可以改用datetime.utcfromtimestamp()得到UTC时间,再手动添加对应时区信息。
  • 插入新元素后,列表长度会增加,后续遍历操作要注意索引偏移问题,避免出现跳过元素或索引越界的情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 23:28:07