日期差计算器
计算两个日期之间确切的天数、周数和月数。
关于此工具
日期差值计算器是一个简单而强大的工具,用于确定两个日期之间的确切时间跨度。无论您是在跟踪项目时间表、计算年龄、衡量距离截止日期还有多少天,或计划活动,该工具都能立即显示已经过的天数、周数和月数。精确理解日期之间的时间跨度对于项目管理、人生重要时刻和日常规划至关重要。
使用计算器非常简单:选择您的开始日期和结束日期,工具会自动计算天数、周数和月数的差值。它考虑了闰年和不同月份的长度,确保任何日期范围内的准确性。这使其非常适合管理日程的专业人士、追踪作业截止日期的学生、规划行程的旅行者,或任何需要可靠日期计算而无需手动计算的人。
常见问题
代码实现
from datetime import date
def date_difference(start: date, end: date) -> dict:
"""Calculate the difference between two dates in multiple units."""
if end < start:
start, end = end, start
total_days = (end - start).days
weeks = total_days // 7
remaining_days = total_days % 7
# Calendar months and years
years = end.year - start.year
months = end.month - start.month
days = end.day - start.day
if days < 0:
months -= 1
import calendar
days += calendar.monthrange(end.year, end.month - 1 or 12)[1]
if months < 0:
years -= 1
months += 12
return {
"years": years, "months": months, "days": days,
"total_days": total_days, "total_weeks": total_days / 7,
"whole_weeks": weeks, "remaining_days": remaining_days,
}
# Example
d1, d2 = date(2020, 1, 15), date(2024, 6, 20)
diff = date_difference(d1, d2)
print(f"{diff['years']} years, {diff['months']} months, {diff['days']} days")
print(f"Total: {diff['total_days']} days / {diff['whole_weeks']} full weeks")Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.