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

Python报错TypeError:需传入整数(实际为datetime.datetime类型)求助

解决TypeError: an integer is required (got type datetime.datetime)问题

我来帮你梳理下问题所在,以及怎么解决:

错误根源

你搞反了时间转换的方法:

  • dt.fromtimestamp() 的作用是把Unix时间戳(整数/浮点数)转换成datetime对象,但你传入的NextInterval5m已经是一个datetime对象了,这就导致了类型不匹配的错误。
  • 你真正需要的是把datetime对象转换成Unix时间戳,应该用datetime对象的.timestamp()方法。

额外的代码问题

你的代码里还有两个小问题需要修正:

  1. now变量没有定义,需要先获取当前时间
  2. timedelta没有导入,得补充到导入语句里

修正后的完整代码

import datetime
from datetime import datetime as dt, timedelta

# 先定义当前时间
now = dt.now()

def ceil_dt(dt, delta):
    return dt + (dt.min - dt) % delta

# 计算下一个5分钟间隔的datetime
NextInterval5m = ceil_dt(now, timedelta(minutes=5))
# 将datetime转换为Unix时间戳(浮点数,包含毫秒)
unixtime5m = NextInterval5m.timestamp()

# 如果需要整数形式的时间戳(秒级),可以转成int
unixtime5m_int = int(unixtime5m)

补充说明

  • .timestamp()方法返回的是从1970-01-01 UTC到当前时间的秒数,是浮点数,比如1718923200.123
  • 如果只需要秒级的整数时间戳,用int()转换即可,结果类似1718923200

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 20:13:10