Calculadora de Diferença de Datas
Calcule o número exato de dias, semanas e meses entre duas datas.
Sobre esta ferramenta
A Calculadora de Diferença de Datas é uma ferramenta simples mas poderosa para determinar o intervalo exato entre duas datas. Seja você acompanhando cronogramas de projeto, calculando idade, medindo quantos dias faltam para um prazo ou planejando eventos, esta ferramenta mostra instantaneamente o número de dias, semanas e meses decorridos. Compreender a duração precisa entre datas é essencial para gestão de projetos, marcos pessoais e planejamento do dia a dia.
Usar a calculadora é direto: selecione a data de início e a data de término, e a ferramenta calcula automaticamente a diferença em dias, semanas e meses. Ela leva em conta anos bissextos e durações variáveis de meses, garantindo precisão em qualquer intervalo de datas. Isso a torna ideal para profissionais gerenciando agendas, estudantes acompanhando prazos de trabalhos, viajantes planejando itinerários, ou qualquer pessoa que precise de aritmética de datas confiável sem cálculos manuais.
Perguntas Frequentes
Implementação de Código
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.