两个用户输入日期之间的天数

时间:2017-05-04 16:45:23

标签: python anaconda

我正在尝试获取两个用户输入日之间的天数。

这就是我所拥有的:

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:一天超出了一个月的范围”。

任何人都可以向我解释这个错误吗?你知道我怎么改变这个吗?

提前谢谢你。

2 个答案:

答案 0 :(得分:6)

date按顺序year, month, day获取参数。你以相反的顺序喂它们 - 这使得一个无效的日期(你不能在2017年5月5日)。

尝试改为

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

(同样适用于fecha2

答案 1 :(得分:2)

date的参数依次为yearmonthdays。根据您的输入,日期设置为2017,这超出了一个月内允许的范围。这就是错误的原因。

尝试 -

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

同样适用于下一个