Калькулятор разницы дат
Рассчитайте точное количество дней, недель и месяцев между двумя датами.
Об этом инструменте
Калькулятор разницы дат — это простой, но мощный инструмент для определения точного промежутка времени между двумя датами. Будь то отслеживание сроков проекта, расчёт возраста, определение количества дней до крайнего срока или планирование событий, этот инструмент мгновенно показывает количество прошедших дней, недель и месяцев. Понимание точной длительности между датами необходимо для управления проектами, личных вех и повседневного планирования.
Использовать калькулятор просто: выберите начальную дату и конечную дату, и инструмент автоматически рассчитает разницу в днях, неделях и месяцах. Он учитывает високосные годы и различную длину месяцев, обеспечивая точность для любого диапазона дат. Это делает его идеальным для специалистов, управляющих расписанием, студентов, отслеживающих сроки сдачи работ, путешественников, планирующих маршруты, или любого человека, нуждающегося в надёжных расчётах дат без ручного вычисления.
Часто задаваемые вопросы
Реализация кода
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.