A estrutura básica dos meses
Sete meses têm 31 dias, quatro têm 30 e fevereiro varia entre 28 e 29. Essa é a base. O resto é memorização prática que a maioria das pessoas aprende na infância e esquece quando precisa aplicar em contextos reais.
quantos dias tem cada mes do ano
A pergunta parece simples, mas se você já precisou calcular datas de vencimento, prazos fiscais ou períodos de funcionamento em algum sistema, sabe que o erro mais comum não está em contar os dias — está em esquecer que fevereiro não é fixo e que a regra dos nós da mão funciona apenas para os meses ímpares de forma confiável. Janeiro tem 31. Fevereiro tem 28 ou 29. Março tem 31. Abril tem 30. Maio tem 31. Junho tem 30. Julho tem 31. Agosto tem 31. Setembro tem 30. Outubro tem 31. Novembro tem 30. Dezembro tem 31. A sequência parece óbvia até você chegar em julho e agosto, que são dois meses consecutivos com 31 dias. Isso quebra a lógica de alternância que a maioria das pessoas assume e é onde a memória falha.
O método dos nós funciona assim: fecha o punho e conta os nós dos dedos de fora para dentro. Nós = 31 dias, valeos = 30. Quando chega no último nó (dedo mindinho), volta para o primeiro nó (polegar) e continua. Dessa forma, julho cai num nó e agosto também. É uma solução útil quando você não está digitando nada e precisa de uma resposta rápida.
Quando a coisa fica complicada
O ano bissexto é o primeiro problema real. Ele acontece a cada quatro anos, com exceções nos anos divisíveis por 100 que não são divisíveis por 400. Ou seja, 2000 foi bissexto, 1900 não foi. Regra prática: se o ano termina em 00, divide por 400. Se sobrar zero, é bissexto. Para qualquer outro ano terminado em 00, não é. Todo o resto segue o ciclo normal de quatro em quatro anos. Eu já tive um problema específico com um sistema de folha de pagamento que calculava feriados relativos a datas móveis baseadas no número de dias do mês. Em 2019, o programador tinha hardcodeado fevereiro com 28 dias e não previra o ano bissexto de 2020. O resultado foi um atraso de um dia no cálculo de todos os benefícios que usavam como referência o dia 28 de fevereiro. A correção foi simples, mas o custo de depurar veio alto porque o bug só apareceu no teste de integração, não no unitário.
Outro problema que vejo todo dia é gente usando bibliotecas de data sem verificar o calendário do sistema operacional. Em servidores Linux mal configurados, o timezone pode estar errado e um cálculo que deveria ser feito em Brasília vira UTC. Resultado: dias a mais ou a menos em relatórios mensais. Isso não é problema da lógica dos meses. É problema de configuração, mas afeta diretamente o resultado final.
👉 Clique no botão abaixo para saber mais sobre o assunto!
O que ninguém te conta sobre cálculos de dias
A maioria das linguagens de programação tem funções embutidas para lidar com isso, mas elas escondem uma armadilha: a contagem de dias entre datas raramente é intuitiva. Subtrair 1 de março de 2024 por 1 de fevereiro de 2024 dá 32 dias porque fevereiro de 2024 teve 29. Se seu negócio conta "dias úteis" ou "meses completos" de outra forma, essa subtração direta vai te enganar. Existe também a questão dos dias comerciais versus dias civis. Alguns contratos dizem "30 dias para pagamento" e outros dizem "30 dias corridos". A diferença é que dias corridos incluem finais de semana e feriados. Dias comerciais não. Se você não deixar isso claro no contrato, vai ter discussão jurídica depois. Eu vi muito disso no setor financeiro.
Uma nuance que poucos consideram: o dia 31 de alguns meses não existe em todos os calendários do mundo. Calendário chinês, calendário hebraico e calendários islâmicos funcionam de forma diferente. Se seu produto atende público internacional, assumir que todo mês tem estrutura gregoriana é um erro que custa caro.
Como calcular na prática sem errar
Se você está construindo algo que depende de datas, use uma biblioteca estabelecida. Não escreva sua própria lógica de dias por mês. Bibliotecas como Moment.js (emboralegacy), Luxon, ou a nativa do Python datetime já tratam bissextos, fusos e limites de mês automaticamente. Reimplementar isso consome tempo e introduz bugs que você vai demorar para encontrar. Se precisar validar rapidamente sem código, a regra dos 30/360 é útil em contextos financeiros. Ela assume que cada mês tem 30 dias e o ano tem 360. É uma convenção, não a realidade civil, mas simplifica cálculos de juros e amortizações. O problema é que ela distorce a duração real. Use apenas quando o contrato especifica esse método.
Para conferência manual, anote os meses em ordem e marque os que têm 31: janeiro, março, maio, julho, agosto, outubro, dezembro. Depois os que têm 30: abril, junho, setembro, novembro. Sobra fevereiro. Se o ano for bissexto, aumenta um dia. Esse exercício leva menos de dois minutos e evita depender só da memória.
Erros frequentes que eu já vi acontecerem
Pessoas confundem quantidade de meses com quantidade de semanas. Um mês não tem quatro semanas. A maioria tem cerca de 4,3 semanas. Isso importa quando você faz projeções de receita mensal baseada em semanas. Outro erro comum: achar que dezembro sempre tem 31 dias e que isso garante que o próximo ano começa no dia seguinte ao último dia do anterior. Em anos bissextos, dezembro continua com 31, mas o calendário inteiro desloca um dia em relação ao ano anterior para fins de alinhamento com o calendário astronômico. Isso não afeta o número de dias do mês, mas afeta o dia da semana em que cada data cai.
Quando alguém pede "quantos dias tem cada mes do ano", a resposta curta é: 31, 28 ou 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31. Mas o que realmente importa é saber quando essa informação varia e como lidar com essas variações no seu contexto. O resto é memória.