在这个 Python 程序中,我们需要检查给定日期是否有效。为此,我们必须检查日期和月份是否正确。
对于月份验证,检查月份是否在 1 到 12 之间。如果它大于 12 或小于 1,则日期无效。
通过以下条件检查日期是否有效:
在 Python 中,我们使用 split date 函数分别拆分月份、日期和年份,然后使用 int() 数据类型将它们转换为整数。现在,我们使用 if condition 和 elif condition 来检查我们上面讨论的所有条件。
步骤 1:使用 input 方法从用户那里获取日期输入。
步骤 2:使用分隔符“/”将日期拆分为 dd、mm 和 yy。
步骤 3:使用 int() 数据类型将 dd、mm 和 yy 的值分配给各自的变量。
步骤 4:使用 if condition 检查月份是否是 1、3、5、7、8、10 或 12,如果是,则将日期的最大值设置为 31。
步骤 5:使用 elif 检查月份是否是 4、6、9 或 11,然后将最大值设置为 30。
步骤 6:使用 if 条件检查年份是否是闰年,通过进行模运算 yy % 4 == 0 且 yy % 100 != 0 或 yy % 400 == 0。如果是闰年,则将最大值设置为 29。
步骤 7:使用 else,如果不是闰年,则最大值为 28。
步骤 8:使用 if condition 检查月份验证,如果月份小于 1 或大于 12,则打印日期无效。
步骤 9:使用 elif 检查日期是否小于 1 或大于我们的最大值,然后打印日期无效。
步骤 10:使用 else 语句 print 输入的日期有效。
对于日期验证程序,我们使用以下 Python 概念,请参阅它们以获得更好的理解:
date=input("Enter the date: ")
dd,mm,yy=date.split('/') # splitting the date to day month and year
dd=int(dd)
mm=int(mm)
yy=int(yy)
if(mm==1 or mm==3 or mm==5 or mm==7 or mm==8 or mm==10 or mm==12):
max=31
elif(mm==4 or mm==6 or mm==9 or mm==11): # checking for the day is valid or not, finding max value
max=30
elif(yy % 4 == 0 and yy % 100 != 0 or yy % 400 == 0): # leap year check
max=29
else:
max=28
if(mm < 1 or mm > 12):
print("Date is invalid.")
elif(dd < 1 or dd > max):
print("Date is invalid.")
else:
print("Date you entered is valid")
Enter the date : 5/7/2016 Date you entered is valid