私は、ユーザーが自分の持つ日時を書き留めるコードを書いています。開始日、開始時刻、終了時刻が入ります。また、ユーザーが複数の週に渡るかどうかを指定することもできます(例えば、毎週月曜日に月曜日など) 私はこれを行うためにforループを使用しています。たとえば、次の月曜日が翌月にある場合)、正しい日付になります。ValueError:日がPythonの月の範囲外です
これは私のコードです:
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 + 1
elif month == '02':
if day > 29:
print(day)
day = day - 29
print(day)
month = month + 1
これを実行すると、それは新しい月に正しくなった場合、私は、エラーを見るためにテスト:私が間違っている
File "C:\Users\dansi\AppData\Local\Programs\Python\Python36-32\gui test 3.py", line 73, in addtimeslot
fulldateadd = datetime.date(year, month, day)
ValueError: day is out of range for month
を? (?day
は、month
、year
、およびtimes
から来るのかたとえば、のために)
あなたの[前の質問](http://stackoverflow.com/questions/42673459/valueerror-day-is-out-of-range-for-month-datetime)のコメント投稿者と同様に、 'timedelta'](https://docs.python.org/3/library/datetime.html#datetime.timedelta)を使って' datetime'オブジェクトに時間を追加します。それで、あなたは月の境界について全く心配する必要はありません。 – glibdud
@glibdud私は、日々のことに本当に慣れていません。私はそれが何をするのが好きですが、私はそれを実装する良い方法を知らない。 – simons21