使用datetime遇报错:AttributeError: type object 'datetime.datetime' has no attribute 'timedelta'
解决AttributeError: type object 'datetime.datetime' has no attribute 'timedelta'问题
嘿,我之前也踩过这个坑!这个错误的原因其实很简单——你搞混了datetime模块和模块里的datetime类的层级关系。
timedelta是datetime模块直接提供的类,用来表示时间差,它不是datetime.datetime这个日期时间类的属性。所以你用datetime.datetime.timedelta去调用自然会报错。
给你两种最常见的正确用法:
用法一:导入整个datetime模块
如果你是用import datetime导入的模块,直接通过模块名调用timedelta就可以:
import datetime # 创建一个3天的时间差 delta = datetime.timedelta(days=3) # 获取当前时间 now = datetime.datetime.now() # 计算3天后的时间 future_time = now + delta
用法二:按需导入具体类
如果习惯只导入需要的类,可以同时导入datetime和timedelta:
from datetime import datetime, timedelta # 创建2小时的时间差 delta = timedelta(hours=2) # 获取当前时间 now = datetime.now() # 计算2小时后的时间 future_time = now + delta
要是你之前只导入了from datetime import datetime,那要么补充导入timedelta,要么就得换用第一种模块导入的方式来调用它。
内容的提问来源于stack exchange,提问作者rk123
相关产品推荐
相关产品推荐

