Para calcular meses entre duas datas, conte quantas vezes o dia da data inicial se repete até a data final (esses são os meses completos) e, depois, conte os dias que sobram. Dividir o total de dias por 30 não dá o número exato de meses, porque os meses têm de 28 a 31 dias. De 01/02/2026 a 01/03/2026, por exemplo, passa 1 mês exato, mas são só 28 dias, e 28 ÷ 30 = 0,93.
A divisão por 30 é uma aproximação útil para estimativas rápidas. Quando a pergunta é “quantos meses tem entre duas datas”, “qual a diferença de meses” ou “quantos meses completos se passaram” ou “em que data o prazo de meses termina”, o cálculo precisa seguir o calendário. A seguir, você vê o método, os casos de fim de mês que confundem até planilhas e uma tabela de exemplos conferidos.
Por que dividir os dias por 30 não funciona
Um mês de calendário não tem tamanho fixo. Janeiro, março, maio, julho, agosto, outubro e dezembro têm 31 dias; abril, junho, setembro e novembro têm 30; fevereiro tem 28, ou 29 em ano bissexto. A tabela completa está no guia quantos dias tem cada mês.
Por isso, o mesmo número de dias pode representar quantidades diferentes de meses:
- 28 dias podem ser 1 mês exato (de 01/02/2026 a 01/03/2026).
- 30 dias podem ser menos de 1 mês: de 15/08/2026 a 14/09/2026 há 30 dias, mas o mês só se completa em 15/09, porque agosto tem 31 dias. O resultado é 0 mês e 30 dias.
- 62 dias podem ser exatamente 2 meses: de 01/07/2026 a 01/09/2026, julho e agosto têm 31 dias cada.
Em todos esses casos, a divisão por 30 erra em alguma direção: 28 ÷ 30 = 0,93, 30 ÷ 30 = 1,00 e 62 ÷ 30 = 2,07.
E dividir por 30,44?
O número 30,44 é a média de dias por mês no calendário gregoriano: 365,2425 dias por ano divididos por 12. Ele corrige a tendência da divisão por 30 de “encontrar meses a mais” em períodos longos. Um ano, de 01/01/2026 a 01/01/2027, tem 365 dias: 365 ÷ 30 = 12,17, enquanto 365 ÷ 30,44 = 11,99, bem mais perto dos 12 meses reais.
Mas média é média. Em intervalos curtos, 30,44 continua errando: os 28 dias de fevereiro de 2026 dão 0,92 mês, embora formem um mês inteiro. A divisão, seja por 30 ou por 30,44, responde “quantos meses médios cabem aqui”, não “quantos meses de calendário se completaram”.
O método correto: contar os aniversários mensais
Um mês completo se fecha quando o calendário chega ao mesmo número de dia da data inicial no mês seguinte. Esse dia é o “aniversário mensal” da data. O método tem três passos:
- Liste os aniversários mensais da data inicial: o mesmo dia no mês seguinte, no outro, e assim por diante.
- Conte quantos caem até a data final (inclusive). Esse é o número de meses completos.
- Conte os dias entre o último aniversário e a data final. Esses são os dias restantes.
Exemplo 1: de 15/01/2026 a 10/04/2026
- Aniversários: 15/02/2026 (1 mês) e 15/03/2026 (2 meses). O próximo seria 15/04/2026, que já passou da data final.
- Meses completos: 2.
- Dias de 15/03/2026 a 10/04/2026: 16 dias até o fim de março mais 10 dias de abril, 26 dias.
- Resultado: 2 meses e 26 dias, contando sem a data inicial. O total é de 85 dias, e 85 ÷ 30 = 2,83, um número que não diz nada sobre quando o terceiro mês se completa.
Exemplo 2: de 10/03/2026 a 21/09/2026
- Aniversários: 10/04, 10/05, 10/06, 10/07, 10/08 e 10/09/2026. São 6 meses completos.
- Dias de 10/09/2026 a 21/09/2026: 11 dias.
- Resultado: 6 meses e 11 dias (195 dias no total, contando sem a data inicial). Pela divisão por 30, seriam 6,50 meses, o que sugere “meio mês” sobrando quando, na verdade, sobram 11 dias.
O efeito de incluir a data inicial
Se a data inicial também entra na conta (contagem inclusiva), o período ganha um dia, e isso pode completar um mês. De 15/08/2026 a 14/09/2026, a contagem sem a data inicial dá 0 mês e 30 dias; a contagem com as duas datas ocupa 31 dias do calendário e fecha 1 mês e 0 dia. Na calculadora de dias, a opção “Incluir data inicial no cálculo” aplica exatamente essa regra aos meses também.
Fim de mês: o que é 31/01 + 1 mês?
O método dos aniversários tem um problema quando a data inicial é 29, 30 ou 31: em alguns meses, esse dia não existe. Não há 31 de fevereiro, nem 31 de abril. Cada ferramenta ou regra resolve isso de um jeito, e existem três convenções comuns.
Convenção A: ajustar para o último dia do mês
Se o dia não existe no mês de destino, usa-se o último dia desse mês. Assim, 31/01/2026 + 1 mês = 28/02/2026, e 31/01/2028 + 1 mês = 29/02/2028, porque 2028 é bissexto. Da mesma forma, 31/03/2026 + 1 mês = 30/04/2026.
Esta é a convenção usada pela calculadora do site para mostrar os meses, e é também o comportamento da função DATAM do Excel. Ela tem a vantagem de nunca “pular” para o mês seguinte.
Convenção B: transbordar para o mês seguinte
Algumas ferramentas somam o mês e deixam os dias excedentes “transbordarem”. Em JavaScript, por exemplo, pegar a data 31/01/2026 e trocar o mês para fevereiro com setMonth resulta em 03/03/2026: como fevereiro de 2026 tem 28 dias, os 3 dias a mais passam para março. Em 2028, a mesma operação resulta em 02/03/2028. Outras ferramentas transbordam de forma diferente e devolvem 01/03. Se você usa um sistema, uma biblioteca ou um aplicativo, teste o caso do dia 31 antes de confiar no resultado.
Convenção C: a regra do Código Civil para prazos
O Código Civil (Lei nº 10.406/2002), no art. 132, § 3º, diz: “Os prazos de meses e anos expiram no dia de igual número do de início, ou no imediato, se faltar exata correspondência.” Na leitura mais comum dessa regra, um prazo de 1 mês iniciado em 31/01 não teria o dia 31 de fevereiro como correspondente e passaria para o dia imediato, 01/03.
Essa regra vale “salvo disposição legal ou convencional em contrário”, como diz o próprio caput do artigo. Leis específicas, contratos, tribunais e órgãos podem ter regras próprias, e a interpretação em cada caso depende da norma aplicável e do calendário do órgão. Nenhum resultado de calculadora, incluindo o deste site, deve ser tratado como a data definitiva de um prazo legal.
As três convenções lado a lado
| Operação | Ajuste ao fim do mês | Transbordo (JavaScript) | Dia imediato (CC art. 132) |
|---|---|---|---|
| 31/01/2026 + 1 mês | 28/02/2026 | 03/03/2026 | 01/03/2026 |
| 31/01/2028 + 1 mês | 29/02/2028 | 02/03/2028 | 01/03/2028 |
| 31/03/2026 + 1 mês | 30/04/2026 | 01/05/2026 | 01/05/2026 |
Diante de uma data inicial no fim do mês, o primeiro passo é descobrir qual convenção o seu contexto exige.
Exemplos com 31 de janeiro
Como a calculadora usa a convenção A, estes são os resultados que ela mostra para períodos iniciados em 31/01/2026 (contagem sem a data inicial):
- 31/01/2026 a 28/02/2026: 28 dias, 1 mês e 0 dia. O aniversário ajustado cai em 28/02.
- 31/01/2026 a 01/03/2026: 29 dias, 1 mês e 1 dia.
- 31/01/2026 a 31/03/2026: 59 dias, 2 meses e 0 dia. Em março, o dia 31 existe, então o segundo aniversário volta ao dia 31.
Repare que a conta não é simétrica. De 28/02/2026 a 31/03/2026 há 31 dias, e o resultado é 1 mês e 3 dias, porque o aniversário de 28/02 é 28/03, e dali até 31/03 sobram 3 dias. O ajuste de fim de mês só acontece quando o dia inicial não existe no mês de destino; um dia 28 continua sendo dia 28.
Exemplos com fevereiro
Fevereiro é o mês que mais distorce a divisão por 30:
- 01/02/2026 a 01/03/2026: 1 mês exato com apenas 28 dias.
- 30/11/2025 a 28/02/2026: 90 dias e exatamente 3 meses. Os aniversários são 30/12/2025, 30/01/2026 e, como não existe 30/02, o último dia de fevereiro, 28/02/2026.
- 21/09/2026 a 20/12/2026: também 90 dias, mas 2 meses e 29 dias, porque o período não passa por fevereiro e setembro, outubro e novembro somam 91 dias.
Os dois últimos exemplos mostram por que “90 dias” e “3 meses” não são sinônimos. Para ver como outros períodos se comportam, consulte o guia de como converter dias em semanas, meses e anos.
Anos bissextos
Em ano bissexto, fevereiro ganha o dia 29, e isso afeta dois tipos de conta.
Datas iniciais em 31/01, 30/01 ou 29/01. Em 2028, 31/01/2028 + 1 mês cai em 29/02/2028, não em 28/02. De 31/01/2028 a 29/02/2028 são 29 dias e 1 mês completo.
Data inicial em 29/02. Ela só tem aniversário anual exato a cada quatro anos, em regra. Na convenção de ajuste ao fim do mês, 29/02/2028 + 12 meses = 28/02/2029, então:
- 29/02/2028 a 28/02/2029: 365 dias, 12 meses (1 ano) e 0 dia.
- 29/02/2028 a 01/03/2029: 366 dias, 12 meses e 1 dia.
Pela regra do dia imediato, descrita na convenção C, o mesmo período de 1 ano terminaria em 01/03/2029. As regras do calendário gregoriano, como a de 2100 não ser bissexto, estão no guia sobre ano bissexto.
Tabela de exemplos verificados
Todos os valores abaixo foram conferidos dia a dia, com a data inicial excluída e a final incluída. Os meses seguem a convenção de ajuste ao fim do mês.
| Data inicial | Data final | Meses completos | Dias restantes | Dias ÷ 30 |
|---|---|---|---|---|
| 01/02/2026 | 01/03/2026 | 1 | 0 | 28 ÷ 30 = 0,93 |
| 31/01/2026 | 28/02/2026 | 1 | 0 | 28 ÷ 30 = 0,93 |
| 31/01/2026 | 01/03/2026 | 1 | 1 | 29 ÷ 30 = 0,97 |
| 31/03/2026 | 30/04/2026 | 1 | 0 | 30 ÷ 30 = 1,00 |
| 15/08/2026 | 14/09/2026 | 0 | 30 | 30 ÷ 30 = 1,00 |
| 30/04/2026 | 31/05/2026 | 1 | 1 | 31 ÷ 30 = 1,03 |
| 01/07/2026 | 01/09/2026 | 2 | 0 | 62 ÷ 30 = 2,07 |
| 15/01/2026 | 10/04/2026 | 2 | 26 | 85 ÷ 30 = 2,83 |
| 10/03/2026 | 21/09/2026 | 6 | 11 | 195 ÷ 30 = 6,50 |
| 01/01/2026 | 01/01/2027 | 12 | 0 | 365 ÷ 30 = 12,17 |
| 29/02/2028 | 28/02/2029 | 12 | 0 | 365 ÷ 30 = 12,17 |
Leia a tabela pelas linhas com o mesmo total de dias. Com 30 dias, uma linha dá 1 mês e outra dá 0 mês. Com 365 dias, a divisão sugere 12,17 meses, mas o calendário registra 12 meses exatos.
Quando a aproximação em meses decimais é aceitável
A diferença de meses em número decimal tem usos legítimos:
- Estimativas e comparações: dizer que um projeto levou “cerca de 6,4 meses” é suficiente para um relatório gerencial.
- Médias e gráficos: para comparar durações de muitos períodos, um número único facilita.
- Convenções financeiras: alguns cálculos financeiros adotam a base 30/360, em que todo mês vale 30 dias e o ano vale 360. É uma convenção de mercado definida em cada contrato ou produto, não uma forma de medir o calendário real.
Já o cálculo exato de calendário é necessário quando a data em que o mês se completa importa: vencimentos mensais, aniversários de contrato, períodos de experiência, garantias, assinaturas, idade em meses. Nesses casos, use meses completos mais dias restantes e diga qual regra de fim de mês foi usada.
Meses entre datas no Excel e no Google Planilhas
Nas planilhas em português do Brasil, o separador de argumentos é o ponto e vírgula (;). Com a data inicial em A2 e a final em B2:
Meses completos: =DATADIF(A2;B2;"M")
Dias restantes (sem usar "MD"): =B2-DATAM(A2;DATADIF(A2;B2;"M"))
A unidade “M” devolve o número de meses completos no período. A função DATADIF também aceita a unidade “MD” para os dias que sobram, mas a própria documentação da Microsoft não recomenda usá-la, porque ela tem limitações conhecidas e pode devolver valores negativos, zero ou imprecisos. A segunda fórmula acima evita o “MD”: ela soma os meses completos à data inicial com DATAM e subtrai o resultado da data final. Formate essa célula como número.
No Google Planilhas, a função aparece como DATADIF e segue a mesma sintaxe, DATADIF(data_de_inicio; data_de_termino; unidade). Em datas iniciais no fim do mês, os resultados de DATADIF podem não coincidir com os da convenção de ajuste ao fim do mês, então confira os casos de dias 29, 30 e 31. O passo a passo das funções de data no Excel está no guia de como calcular dias entre duas datas no Excel.
Como a calculadora do site mostra os meses
Ao informar duas datas na aba “Entre Duas Datas”, a calculadora mostra, junto com os dias corridos e as semanas, os meses de calendário completos mais os dias restantes, calculados pelo método dos aniversários mensais e pela convenção de ajuste ao fim do mês (a mesma da função DATAM). A contagem padrão exclui a data inicial e inclui a final; ao marcar “Incluir data inicial no cálculo”, os meses e os dias restantes também passam a considerar a data inicial.
Se você precisa de outra convenção, como a do dia imediato para um prazo contratual, use o resultado da calculadora como ponto de partida e ajuste manualmente os casos de fim de mês, sempre conferindo a regra que se aplica ao seu caso.


