Pular para o conteúdo
🛠️ToolsShed

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.