这是我的代码,第一次打印很好,给我这个错误 类型错误:必须是str,而不是datetime.timedelta
import datetime
hour = datetime.datetime.now().hour
tomorrow = datetime.datetime.now()
for i in range(50):
hour += 1
print(hour)
if hour >= 23:
tomorrow = tomorrow + datetime.timedelta(days=1)
tomorrow = tomorrow.strftime('%d/%m/%Y')
hour = 9
print (tomorrow)
输出如下:
13
14
15
16
17
18
19
20
21
22
23
07/12/2017
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Traceback (most recent call last):
File "C:\Users\hamza.salhi\Desktop\datetime test.py", line 8, in <module>
tomorrow = tomorrow + datetime.timedelta(days=1)
TypeError: must be str, not datetime.timedelta
请有人告诉我为什么一开始它工作得很好,然后我得到那个错误
它第一次工作是因为
tomorrow
是一个datetime.datetime
实例,然后:但是,在第一次之后,用字符串替换
tomorrow
:不能将
timedelta()
对象添加到字符串。不要重新绑定tomorrow
。将字符串指定给其他名称,或仅格式化要打印的对象(而不将其指定给名称):tomorrow = tomorrow.strftime('%d/%m/%Y')
将明天的类型更改为string,因此无法将其添加到datetime.timedelta。而不是:
尝试:
相关问题 更多 >
编程相关推荐