比较两个日期的大小的函数
发布时间:2023-10-13 21:25:00
比较两个日期的大小,可以根据日期的年份、月份和日期来进行比较。下面是一个比较日期大小的函数的实现:
def compare_dates(date1, date2):
# 解析日期字符串,获取年、月、日的数值
year1, month1, day1 = map(int, date1.split('-'))
year2, month2, day2 = map(int, date2.split('-'))
# 比较年份
if year1 > year2:
return 1
elif year1 < year2:
return -1
# 年份相同,比较月份
if month1 > month2:
return 1
elif month1 < month2:
return -1
# 年份和月份相同,比较日期
if day1 > day2:
return 1
elif day1 < day2:
return -1
# 年份、月份和日期均相同,返回0表示日期相同
return 0
该函数接受两个日期字符串作为参数,日期字符串的格式为"YYYY-MM-DD"。函数首先使用split()方法将日期字符串拆分为年、月、日的数值,并将其转换为整数。然后,按照年、月、日的顺序进行比较:
1. 首先比较年份。如果date1的年份大于date2的年份,则返回1;如果date1的年份小于date2的年份,则返回-1。
2. 如果年份相同,则比较月份。如果date1的月份大于date2的月份,则返回1;如果date1的月份小于date2的月份,则返回-1。
3. 如果年份和月份均相同,则比较日期。如果date1的日期大于date2的日期,则返回1;如果date1的日期小于date2的日期,则返回-1。
4. 如果年份、月份和日期均相同,则返回0,表示日期相同。
可以通过以下示例调用该函数并进行测试:
date1 = '2022-01-01'
date2 = '2021-12-31'
result = compare_dates(date1, date2)
if result > 0:
print(f'{date1} 大于 {date2}')
elif result < 0:
print(f'{date1} 小于 {date2}')
else:
print(f'{date1} 等于 {date2}')
输出结果为:"2022-01-01 大于 2021-12-31"。
