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

2024-04-19 06:21:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图得到两个用户输入日之间的天数。在

这就是我所拥有的:

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条目的答案)

我输入dia1=20,mes1=5,ano1=2017,日期为2017年5月20日。在

但我总是得到“ValueError:day is outer of range for month”。在

谁能给我解释一下这个错误吗?你知道我该怎么改变吗?在

提前谢谢你。在


Tags: inputdatetimedenowlaintprintday
3条回答

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

试试-

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

下一个也一样

date按顺序year, month, day获取参数。你按相反的顺序给他们喂食,这就造成了一个无效的日期(你不能有2017年5月5日)。在

试试吧

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

(与fecha2相同)

相关问题 更多 >