Python 计算两个日期之间相差的天数,可通过 datetime
、dateutil
、pandas
等库实现,还能处理字符串格式日期、时区问题及倒计时功能。
使用 datetime
模块是最常见且无需额外安装的方法。通过 strptime()
将日期字符串转换为日期对象,相减后获取天数差。例如:
python复制from datetime import datetime
date1 = datetime.strptime("2023-01-01", "%Y-%m-%d")
date2 = datetime.now()
delta = date2 - date1
print(delta.days) # 输出天数差
若需更高灵活性,可用 dateutil.parser
自动解析多种日期格式,尤其适合处理不确定格式的输入。安装后调用:
python复制from dateutil import parser
date1 = parser.parse("01/01/2023")
date2 = parser.parse("today")
print((date2 - date1).days)
对大数据量或表格操作,pandas
的 to_datetime
可批量转换日期列,高效计算差值:
python复制import pandas as pd
dates = pd.to_datetime(["2023-01-01", "2023-12-31"])
delta = (dates[1] - dates[0]).days
实战中,如计算距离目标日期的天数,可结合用户输入实现提醒功能:
python复制target_str = input("输入目标日期(yyyy-mm-dd):")
target_date = datetime.strptime(target_str, "%Y-%m-%d")
today = datetime.now()
days_left = (target_date - today).days + 1
print(f"距离目标还剩 {days_left} 天" if days_left > 0 else "已过期")
涉及跨国场景时,建议用 pytz
解决时区误差。Python 提供多元方案,根据需求选择即可快速计算日期差。