from datetime import datetime
def days_between_dates(date_str1, date_str2):
"""
计算两个日期字符串之间的天数差。
参数:
date_str1 (str): 第一个日期字符串,格式为 'YYYY-MM-DD'。
date_str2 (str): 第二个日期字符串,格式为 'YYYY-MM-DD'。
返回:
int: 两个日期之间的天数差。
"""
# 将日期字符串转换为 datetime 对象
date_format = "%Y-%m-%d"
try:
date1 = datetime.strptime(date_str1, date_format)
date2 = datetime.strptime(date_str2, date_format)
except ValueError as e:
return f"日期格式错误: {e}"
# 计算两个日期之间的差异天数
delta = date2 - date1
return delta.days
# 测试函数
print(days_between_dates("2023-01-01", "2023-01-10")) # 输出: 9
print(days_between_dates("2023-01-10", "2023-01-01")) # 输出: -9
print(days_between_dates("2023-02-28", "2023-03-01")) # 输出: 3
print(days_between_dates("2023-02-29", "2023-03-01")) # 输出: 2 (2023年不是闰年)
这个函数 days_between_dates 可以很容易地被调用,它接受两个日期字符串作为输入,并返回它们之间的天数差。函数首先检查日期格式是否正确,然后计算两个日期之间的差异。注意,如果第一个日期晚于第二个日期,函数将返回一个负数。
