Date Calculator

Add or subtract days, weeks, months and years; analyse ranges with weekday and business-day counts

Date Calculator

Result

Calculated Date:03/08/2026
Sunday1 dias

Date Range Calculator

Calculation History

Somados 1 Dias a 02/08/2026
8/2/20268/3/2026
1 dias

Date Information

Business Days

Business days exclude Saturday and Sunday. Useful for project timelines, contract deadlines, and SLA windows that don't run on weekends. The calculator steps day-by-day and counts only Mon–Fri.

Weekdays Only

Weekdays in this tool are Monday through Friday — the same Mon–Fri set as Business Days for jurisdictions without statutory holiday data. If you need holiday-aware calendars, store holidays separately and skip them in your own loop.

Date Range Analysis

Pick a start and end date to see the span as days, whole weeks, calendar months, calendar years, weekday count, and weekend-day count — all counted inclusively from start to end.

Add / Subtract Units

Add or subtract days, weeks, months, years, hours, or minutes. Calendar arithmetic uses the browser's Date object, so leap years and short months are handled automatically.

Date Calculator

Add or subtract days, weeks, months and years; analyse ranges with weekday and business-day counts

Features

  • Some ou subtraia dias, semanas, meses, anos, horas ou minutos a qualquer data base — consciente do calendário (anos bissextos e meses curtos tratados pelo objecto Date)
  • O modo dias úteis salta sábado e domingo nos dois sentidos; valores positivos avançam, negativos recuam
  • O modo apenas dias da semana conta só de segunda a sexta — o mesmo conjunto seg–sex, útil quando não há dados de feriados
  • O painel Intervalo de datas analisa qualquer período início–fim: dias totais, semanas completas, meses e anos calendário (com transporte de dia), mais contagem de dias da semana e de fim de semana (ambas as extremidades inclusivas)
  • Histórico de cálculos rolante com as últimas 10 operações incluindo data base, data resultado e dia da semana do resultado — copie qualquer resultado histórico com um clique
  • Etiqueta de dia da semana renderizada via Intl.DateTimeFormat, seguindo o idioma activo ("Monday" em /en, "Pazartesi" em /tr, "Montag" em /de)
  • Datas analisadas ao meio-dia local para evitar o bug de um dia que afecta Date.parse em strings YYYY-MM-DD em fusos UTC negativos
  • Datas resultado formatadas via toLocaleDateString na configuração regional activa — sem saída en-US fixa, nomes de meses e formatos numéricos seguem o idioma da página

How to use

  1. Escolha uma data base — escreva uma ou clique Hoje para fixar à data actual.
  2. Escolha uma operação: Somar, Subtrair, Dias úteis ou Apenas dias da semana.
  3. Introduza quantos da unidade escolhida (dias, semanas, meses, anos, horas, minutos) aplicar; o resultado actualiza imediatamente.
  4. Leia o painel de resultado: data calculada, dia da semana e resumo de diferença; copie a data com um clique.
  5. Para análise de intervalo, defina data de início e fim no painel à direita para ver dias totais, semanas, meses, anos, dias da semana e dias de fim de semana.
  6. Cálculos recentes ficam na lista de histórico; use o botão copiar em qualquer linha do histórico para obter um resultado anterior.

Tips & Best Practices

  • Use Dias úteis / Apenas dias da semana para prazos de projecto e SLAs contratuais que param ao fim de semana.
  • Intervalo de datas funciona nos dois sentidos — se início é depois do fim, a calculadora troca-os internamente.
  • Mantenha o spinner do campo valor pressionado para percorrer um intervalo rapidamente enquanto observa o resultado.
  • Copie do histórico para recuperar um resultado já calculado sem reintroduzir os dados.
  • Combine esta ferramenta com o Conversor de fusos horários quando precisar de um deslocamento de calendário e mudança de fuso.

FAQ

Qual a diferença entre Dias úteis e Apenas dias da semana?

Nesta ferramenta são idênticos — ambos saltam sábado e domingo e avançam de segunda a sexta. Calendários reais de dias úteis também saltam feriados legais, mas os dados de feriados são específicos da jurisdição (federais dos EUA, bank holidays do RU, dias nacionais turcos, etc.). A ferramenta mantém-se genérica saltando apenas fins de semana; traga a sua própria lista de feriados para um calendário de dias úteis totalmente localizado.

Como são contados os meses e anos de calendário no painel de intervalo?

Os meses são calculados como (anos × 12) + meses entre início e fim, depois decrementados de um se o dia-do-mês do fim for anterior ao do início — assim 15 fev → 14 mar conta 0 meses, e 15 fev → 15 mar conta 1. Os anos são decrementados se o mês do fim for anterior ao do início, ou o mesmo mês mas dia anterior. Corresponde à forma como as pessoas pensam em aniversários.

Porque é que o total de dias por vezes está desfasado em um quando atravesso uma transição DST?

A ferramenta analisa strings YYYY-MM-DD ao meio-dia local, o que coloca cada data a 12 horas de qualquer fronteira meia-noite/DST — evita a armadilha clássica de Date.parse em que "2026-03-08" se torna 2026-03-07 23:00 em fusos UTC negativos. O total de dias usa Math.round sobre a diferença em milissegundos, por isso um dia de 23 horas no adianto da primavera arredonda para 1 dia.

Somar 1 mês cai sempre no mesmo dia do mês?

Quase — Date.setMonth do JavaScript transporta o overflow para a frente. Somar 1 mês a 31 jan dá 3 mar em anos não bissextos (fev tem 28 dias, por isso dia 31 de fev torna-se dia 3 de março). Coincide com a maioria das convenções bancárias e de planeamento; se precisar de outra regra (limitar ao fim do mês, "último dia útil do mês") faça a aritmética no seu próprio código com limitação explícita.

Posso subtrair dias úteis para encontrar um prazo anterior?

Sim. Escolha a operação Subtrair com a unidade desejada, ou use Dias úteis / Apenas dias da semana com valor negativo — o motor recua dia a dia e conta apenas seg–sex.

Os cálculos são feitos localmente?

Sim. Toda a aritmética de datas usa o objecto Date integrado do navegador; nada é enviado para um servidor, nenhum histórico é carregado, e a ferramenta funciona offline assim que a página estiver em cache.

Porque é que o formato de data apresentado difere entre páginas de idiomas?

As datas resultado e entradas de histórico são renderizadas com toLocaleDateString no idioma activo, por isso /en mostra MM/DD/YYYY ou DD/MM/YYYY (conforme variante en do navegador), /de DD.MM.YYYY, /fr DD/MM/YYYY, etc. O cálculo interno trabalha em ISO YYYY-MM-DD; só a camada de apresentação segue a sua configuração regional.

A ferramenta compreende anos bissextos?

Sim. A aritmética de datas delega no objecto Date nativo, que sabe que 2024 teve 29 fev e 2025 não. Somar 1 ano a 29 fev 2024 cai em 1 mar 2025; coincide com a especificação JavaScript e com a maioria das aplicações de calendário. Para uma regra "limitar a 28" em anos não bissextos, pós-processe no seu próprio código.