Calculadora de Diferença de Datas

Calcule a diferença exata entre duas datas em anos, meses, semanas e dias. Encontre dias úteis, adicione ou subtraia dias de uma data, e mais.

Date Difference

1yr0d

Total days

365

Total weeks

52 weeks, 1 days

Business days

262

Weekend days

104

Total hours

8,760

Full years

1

Como Usar Calculadora de Diferença de Datas

  1. 1Digite a data de início e a data de término.
  2. 2Veja a diferença em anos, meses, semanas e dias.
  3. 3Veja a contagem de dias da semana vs dias de fim de semana.
  4. 4Ou use o modo Adicionar/Subtrair para encontrar uma data N dias adiante.
ZenovayAnalytics

Transforme seu tráfego em clientes.

  • Acompanhamento de visitantes em tempo real
  • Privacidade em primeiro lugar, sem banner de cookies
  • Configurado em dois minutos
Conheça o Zenovay

Perguntas Frequentes

Como calcular o número de dias entre duas datas?
Método 1: Subtraia timestamps em milissegundos e divida por 86.400.000 (ms por dia). JavaScript: Math.floor((new Date(end) - new Date(start)) / 86400000). Método 2: Use a diferença em timestamps de meia-noite UTC para evitar problemas de horário de verão. Dica: sempre use Date.UTC() ou analise datas ISO para evitar bugs de deslocamento de fuso horário. Em Python: (date2 - date1).days. O resultado é o número inclusivo de dias de início a fim.
O que são dias úteis (dias de trabalho)?
Dias úteis excluem fins de semana (sábado, domingo) e opcionalmente feriados públicos. Calculando dias úteis entre duas datas: itere cada dia, pule fins de semana. Fórmula sem iteração: dias úteis = dias totais - (semanas completas × 2) - fins de semana de semana parcial. Para feriados, mantenha uma lista de datas para pular. Nota internacional: alguns países trabalham no sábado, e os calendários de feriados diferem. Segunda-feira é tipicamente o primeiro dia útil na maioria dos países.
Como adiciono ou subtraio dias de uma data?
JavaScript: new Date(date.getTime() + days × 86400000) — evita problemas de DST usando milissegundos. Ou: date.setDate(date.getDate() + days) — modifica no local. Python: date + timedelta(days=N). SQL: DATE_ADD(date, INTERVAL N DAY) (MySQL) ou date + N (PostgreSQL). Adicionar meses é mais complicado (comprimentos de mês diferem): date.setMonth(date.getMonth() + N) em JavaScript lida com isso corretamente, rolando para o próximo mês se necessário (31 de março + 1 mês = 30 de abril, não 31 de abril).
O que causa erros de cálculo de data?
Armadilhas comuns: problemas de fuso horário — new Date("2024-01-15") analisado como meia-noite UTC, diferente de new Date("2024-01-15T00:00:00") (hora local). DST (Horário de Verão) — dias podem ter 23 ou 25 horas, então multiplicar horas por dias dá resultados errados. Aritmética de final de mês — adicionar 1 mês a 31 de janeiro pode dar 28 de fevereiro ou 2 de março. Tratamento de anos bissextos — 29 de fevereiro não existe em anos não bissextos. Melhor prática: use timestamps UTC ISO 8601 e bibliotecas de datas testadas (date-fns, Luxon) para cálculos críticos.
Qual é o formato de data ISO 8601?
ISO 8601 é o padrão internacional para representação de data e hora: datas como YYYY-MM-DD (2024-01-15), horas como HH:mm:ss, combinadas: 2024-01-15T10:30:00Z (UTC). O formato é inequívoco — diferente de 01/15/24 que poderia ser 15 de janeiro ou 15 de janeiro dependendo da localidade. ISO 8601 classifica corretamente alfabeticamente. Formato de duração: P1Y2M3DT4H5M6S (1 ano 2 meses 3 dias 4 horas 5 minutos 6 segundos). Intervalo: 2024-01-01/2024-12-31.