Somar ou Subtrair Tempo de uma Data

Some ou tire anos, meses, semanas e dias de uma data, com os fins de mês tratados como as pessoas entendem.

Direção

Mova uma data para a frente ou para trás por um período descrito em anos, meses, semanas e dias. Cada parte é opcional, e elas se combinam.

Como funciona

Anos e meses são aplicados primeiro, como meses. Se o dia do mês não existir no mês de chegada, ele é ajustado para o último dia desse mês: um mês depois de 31 de janeiro é 28 de fevereiro, ou 29 em ano bissexto.

Semanas e dias são então somados como dias comuns, depois do ajuste, de modo que sempre movem a data exatamente pelo número de dias que você pediu.

A ordem importa e não é arbitrária. Meses primeiro, depois dias, é a convenção que todo aplicativo de calendário usa, e é a única em que somar um mês e depois um dia dá a mesma resposta que uma pessoa daria.

Exemplos

Caso Entrada Resultado
Um mês somado ao último dia de janeiro 2026-01-31, somar 1 mês 2026-02-28, um sábado

Perguntas frequentes

Por que um mês depois de 31 de janeiro não é 3 de março?

Porque isso é um transbordamento, não uma data. O PHP produz isso somando um ao mês e mantendo o dia 31, que fevereiro não comporta. Ajustar para 28 de fevereiro é o que um contrato, um ciclo de aluguel e uma pessoa querem dizer com "daqui a um mês".

Os resultados são afetados por fusos horários ou horário de verão?

Não. A aritmética roda sobre datas de calendário em UTC, então um dia é sempre um dia. Se você precisa mover um instante específico entre fusos, o conversor de fuso horário é a ferramenta certa.

Ele pula fins de semana ou feriados?

Não, todo dia conta. Contar só dias úteis é outra pergunta, e a calculadora de dias úteis responde a ela com uma semana de trabalho e uma lista de feriados que você fornece.

Bom saber

  • As datas são tratadas como datas de calendário em UTC; nenhum ajuste de fuso horário ou de horário de verão é aplicado.
  • Somar e depois subtrair o mesmo período nem sempre volta à data de partida. Isso é uma propriedade do tamanho dos meses, não um defeito: uma vez que 31 de janeiro foi ajustado para 28 de fevereiro, a informação de que era dia 31 se perdeu.

Todas as ferramentas de Data e hora