我正在尝试获取两个用户输入日之间的天数。
这就是我所拥有的:
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)
(基于this条目的答案)
我在2017年5月20日输入dia1 = 20,mes1 = 5,ano1 = 2017.
但我一直得到“ValueError:一天超出了一个月的范围”。
任何人都可以向我解释这个错误吗?你知道我怎么改变这个吗?
提前谢谢你。
答案 0 :(得分:6)
date
按顺序year, month, day
获取参数。你以相反的顺序喂它们 - 这使得一个无效的日期(你不能在2017年5月5日)。
尝试改为
fecha1 = datetime.date(ano1, mes1, dia1)
(同样适用于fecha2
)
答案 1 :(得分:2)
date
的参数依次为year
,month
,days
。根据您的输入,日期设置为2017
,这超出了一个月内允许的范围。这就是错误的原因。
尝试 -
fecha1 = datetime.date(ano1, mes1, dia1)
同样适用于下一个