我在编写一些代码时遇到了问题。我将四个输入(日、月和年)作为日期,以及他们想要重复任务的次数(例如,每周一持续 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
Run Code Online (Sandbox Code Playgroud)
相关的部分代码:
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
Run Code Online (Sandbox Code Playgroud)
当天数超过 31 时,我试图增加月份,但它似乎不起作用。
我正在编写代码,让用户写下他们所拥有的事物的日期和时间。它包含开始的日期、开始时间和结束时间。它还允许用户指定他们是否希望将其延续到多个星期(例如,每月的每个星期一)我正在使用 for 循环来执行此操作,并且由于不同的月份有不同的日期,我显然想要(如果例如下周一是在下个月)它有正确的日期。
这是我的代码:
for i in range(0 , times):
day = day
month = month
fulldateadd = datetime.date(year, month, day)
day = day + 7
if month == ( '01' or '03' or '05' or '07' or '10'or '12'):
if day > 31:
print(day)
day = day - 31
print(day)
month = month + 1
elif month == ( '04' or '06'or '09' or '11'):
if day > 30:
print(day)
day = day - 30
print(day)
month = month …Run Code Online (Sandbox Code Playgroud)