当我尝试将我的datetime.datetime对象转换成时序数时,我得到了一个错误。我有一个方法,它比较时间并返回时间的字符串描述(例如,下午、晚上等)
我尝试过导入不同的模块。现在我使用的是"from datetime import datetime,timedelta,time“。我还打印了我想要转换的类型对象,它显示它是一个datetime.datetime对象,但是当我尝试运行.timetuple时,它显示它正在接收一个int。
tweetTime是来自tweet.created_at的tweepy模块响应
tweetTime = time.mktime(tweetTime.timetuple())
if tweetTime <= datetime.time(03,00,00):
return "early am"
elif tweetTime <= datetime.time(05,00,00):
return "am"
elif tweetTime <= datetime.time(10,00,00):
return "morning"
elif tweetTime <= datetime.time(16,00,00):
return "afternoon"
elif tweetTime <= datetime.time(18,00,00):
return "midday"
else:
return "evening"使用datetime的其他代码
now=datetime.today().now()
prev=now-timedelta(minutes=1440)这是im收到的错误:“descriptor 'time‘需要一个'datetime.datetime’对象,但收到了一个'int'”
发布于 2019-08-22 06:48:56
错误是抱怨对时间的函数调用(即datetime.time(03,00,00))。
您已经从模块datetime导入了time,因此不必编写datetime.time。试着让你的代码看起来像这样……
if tweetTime <= time(3,00,00):
return "early am"
elif tweetTime <= time(5,00,00):
return "am"
elif tweetTime <= time(10,00,00):
return "morning"
elif tweetTime <= time(16,00,00):
return "afternoon"
elif tweetTime <= time(18,00,00):
return "midday"
else:
return "evening"这应该会解决您在原始问题中提到的错误。
https://stackoverflow.com/questions/57595855
复制相似问题