2017-05-04 10 views
0

2つのユーザー入力日の間の日数を取得しようとしています。2つのユーザー入力日の間の日数

これは私が持っているものである:(thisエントリからの回答に基づいて)

import datetime 

now = datetime.datetime.now() 

print(now.day) 

print(now.year) 

print(now.month) 

salario = float(input("¿Cuál es su salario mensual en colones? ")) 

print ("Fecha inicial de la incapacidad") 
dia1 = int(input("Día: ")) 
mes1 = int(input("Mes: ")) 
ano1 = int(input("Año: ")) 
fecha1 = datetime.date(dia1, mes1, ano1) 
print ("Fecha final de la incapacidad") 
dia2 = int(input("Día: ")) 
mes2 = int(input("Mes: ")) 
ano2 = int(input("Año: ")) 
fecha2 = datetime.date(dia2, mes2, ano2) 

diasinc = fecha2 - fecha2 
print (diasinc.day) 

私は2017 DIA1 = 20、MES1 = 5、ANO1 =を入力し、日付月20日のために、 2017.

しかし、私は "ValueError:day is month of range"を取得し続けています。

誰でもこのエラーを私に説明できますか?私はこれをどう変えることができるか知っていますか?

ありがとうございます。

答えて

5

dateyear, month, dayの引数を取得します。あなたは逆の順序でそれらを供給します - そしてそれは無効な日付を作ります(あなたは5月2017th、5を持つことができません)。

fecha1 = datetime.date(ano1, mes1, dia1) 
に代わり

を試してみてください(同じfecha2のために行く)dateため

+0

のために行くいただきありがとうございます!それは単純なheheだったと信じられない。私はそれらの間の日数を得るために2つの日付をどのように減算することができるか知っていますか? –

+0

@IreneCastañedaと「diasinc.days」。あなたは 's'を忘れてしまった – Uriel

+0

はい、申し訳ありませんが、私はそのウェブサイトを終了しようとしたときに30分待つと言いました。 –

2

引数は順番にyearmonthdaysです。あなたの入力によると、1日の許容範囲外の2017に設定されています。それがエラーの理由です。

TRY -

fecha1 = datetime.date(ano1, mes1, dia1)

同じことは、次のいずれか

関連する問題