【发布时间】:2017-07-29 03:30:49
【问题描述】:
我在编写一些代码时遇到了问题。我输入四个输入(日、月和年)作为日期,以及他们想要重复任务多少次的时间(例如,每周一,持续 3 周)。该代码很棒,但是如果几个月之间的周数不同,我会收到此错误:
File "C:\Users\dansi\AppData\Local\Programs\Python\Python36-32\gui test 3.py", line 72, in addtimeslot
fulldateadd = datetime.date(year, month, day)
ValueError: day is out of range for month
相关的部分代码:
for i in range(0 , times):
fulldateadd = datetime.date(year, month, day)
cursor.execute( '''INSERT INTO dates (Date, Name, Start, End) VALUES( ?,?,?,? );''', (fulldateadd , name1, starttimehour, endtimehour))
day = day + 7
if day > 31:
month = month + 1
当天数超过 31 天时,我尝试增加月份,但它似乎不起作用。
【问题讨论】:
-
您不会在任何地方将天从零开始..
-
这是一个重点。我将如何进行编码?我假设它找到了其余部分,但我不知道该怎么做。感谢回复
-
在循环中增加一个带有 timedelta 的日期时间,而不是尝试在每次迭代时构造一个新的日期时间。
-
@Mitch 以前从未见过。我会看看,看看我是否可以使用它。谢谢。
标签: python python-3.x datetime