Contagem de datas: dias entre datas, anos bissextos e semanas ISO

Atualizado:

Contar datas parece aritmética simples, até que um prazo dá um dia a menos, um pagamento mensal cai no dia errado ou o Excel insiste que 29 de fevereiro de 1900 existiu. O calendário é irregular: os meses têm quatro durações diferentes, alguns anos têm um dia a mais, as semanas não se encaixam exatamente nos anos e, em muitos países, em dois dias por ano o relógio pula ou repete uma hora. Este guia explica como contar dias, anos bissextos e números de semana, e como escrever uma data para que ninguém a leia errado.

Como contar os dias entre duas datas

O número de dias entre duas datas é a data posterior menos a anterior. De 1º de março a 10 de março são 9 dias: você conta os dias que passam, então uma das pontas fica de fora — assim como de segunda para terça é um dia. Se o primeiro e o último dia contam — os dias de um festival ou os dias de férias que você tira —, some um, e a resposta é 10. As duas respostas estão certas; elas contam coisas diferentes, então decida de qual você precisa antes de começar.

Os prazos legais seguem regras fixadas por lei. Na União Europeia, o Regulamento (CEE, Euratom) nº 1182/71 estabelece as regras aplicáveis por padrão aos prazos nos atos do Conselho e da Comissão: quando um prazo corre a partir de um evento, o dia do evento não é contado, um prazo em dias termina no fim do seu último dia e, se esse dia for um sábado, um domingo ou um feriado, o prazo se estende até o fim do dia útil seguinte. Leis nacionais, contratos e tribunais podem contar de outra forma, então, para um prazo real, confira a regra que se aplica a ele.

Um ano tem 365 dias, ou 366 quando é bissexto. De 1º de janeiro de 2026 a 1º de janeiro de 2027 são 365 dias; de 1º de janeiro de 2028 a 1º de janeiro de 2029 são 366, porque 2028 é bissexto.

Tempo desde uma data

Um dia nem sempre tem 24 horas

Onde os relógios mudam por causa do horário de verão, um dia por ano tem 23 horas e outro tem 25. Na União Europeia, onde os relógios mudam no último domingo de março e no último domingo de outubro (veja a primeira parte desta série), em 2026 esses dias são 29 de março e 25 de outubro. Assim, de 1º de março a 1º de abril de 2026, em Lisboa, há 31 dias no calendário, mas só 743 horas, e não 744.

É por isso que multiplicar dias por 24, ou dividir horas por 24, dá respostas erradas quando o período cruza uma mudança de hora. A ferramenta “Tempo desde uma data” conta os dias pelo calendário e as horas como tempo realmente decorrido, então, no modo “Entre duas datas”, em um dispositivo configurado com o horário de Lisboa, ela mostra 31 dias e 743 horas para esse período. Quando a hora do dia importa, como em uma reunião ou em um voo, faça a conversão com o fuso horário, e não com um número fixo de horas.

Anos bissextos

Um ano bissexto acrescenta o 29 de fevereiro para manter o calendário em sintonia com as estações do ano. A regra do calendário gregoriano, nas palavras do US Naval Observatory: todo ano exatamente divisível por quatro é bissexto, exceto os anos exatamente divisíveis por 100, que só são bissextos se também forem divisíveis por 400. Assim, 2000 foi bissexto, 1900 não foi, e 2100 não será.

Em um ciclo de 400 anos, isso dá 97 dias bissextos, ou um ano médio de 365,2425 dias. O calendário gregoriano foi introduzido em 1582, quando o dia 4 de outubro foi seguido diretamente pelo dia 15 de outubro, mas os países o adotaram em épocas diferentes: a Grã-Bretanha e suas colônias mudaram em 1752, quando o dia 2 de setembro foi seguido pelo dia 14 de setembro. Datas anteriores à mudança em um país podem ter sido escritas no antigo calendário juliano, então datas históricas precisam ser conferidas com o calendário em uso na época.

O Excel tem uma exceção famosa. A Microsoft afirma que o Excel trata 1900, incorretamente, como ano bissexto, uma escolha feita por compatibilidade com o Lotus 1-2-3, e que a função WEEKDAY (DIA.DA.SEMANA no Excel em português) retorna valores errados para datas anteriores a 1º de março de 1900. De 1º de março de 1900 em diante, isso não faz diferença.

AnoÉ bissexto?Por quê
2024SimDivisível por 4.
2026NãoNão é divisível por 4.
2028SimDivisível por 4.
1900NãoDivisível por 100, mas não por 400.
2000SimDivisível por 400.
2100NãoDivisível por 100, mas não por 400.

Os meses têm durações diferentes

Somar um mês é mais complicado do que parece, porque o mesmo dia não existe em todos os meses. Um mês depois de 31 de janeiro não tem uma resposta óbvia, porque fevereiro não tem dia 31. Sistemas diferentes fazem escolhas diferentes. Em JavaScript, mudar para fevereiro uma data de 31 de janeiro de 2026 faz o dia transbordar para março e dá 3 de março de 2026. O regulamento da UE sobre prazos adota a abordagem contrária: quando um prazo em meses ou anos deveria terminar em um dia que não existe no último mês, ele termina no fim do último dia desse mês — 28 de fevereiro em 2026, ou 29 de fevereiro em um ano bissexto.

Quando o dia do mês importa, como em um aluguel ou em uma assinatura que vence no dia 31, combine com antecedência o que acontece nos meses mais curtos. Contar em dias evita o problema por completo, ao custo de a data ir se deslocando de um mês para outro.

Aniversários em 29 de fevereiro

Quem nasceu em 29 de fevereiro só tem aniversário no calendário nos anos bissextos, e todo cálculo de idade precisa decidir o que acontece nos outros anos. A Calculadora de idade considera 1º de março como o aniversário nos anos não bissextos: a idade aumenta em 1º de março, e é essa a data que ela mostra como próximo aniversário.

A lei varia de país para país, e muitas leis não tratam do assunto. O Age of Legal Capacity (Scotland) Act 1991, por exemplo, estabelece que uma pessoa nascida em 29 de fevereiro atinge uma determinada idade em 1º de março. Para uma idade legal, como no caso de um contrato ou de uma aposentadoria, confira a regra do país em questão.

Calculadora de idade

Números de semana ISO

O padrão internacional para números de semana é a ISO 8601: as semanas começam na segunda-feira, e a semana 1 é a que contém a primeira quinta-feira do ano — o que equivale à semana que contém o dia 4 de janeiro. Por isso, um ano tem 52 ou 53 semanas.

Perto de 1º de janeiro, o ano da numeração de semanas pode ser diferente do ano civil. O dia 1º de janeiro de 2026 é uma quinta-feira, então a semana 1 de 2026 vai da segunda-feira, 29 de dezembro de 2025, ao domingo, 4 de janeiro de 2026. O ano de 2026 tem 53 semanas, porque começa em uma quinta-feira, e os dias de 1º a 3 de janeiro de 2027 pertencem à semana 53 dele. Existem outras convenções, algumas que começam a semana no domingo ou que contam como semana 1 a semana que contém o 1º de janeiro, então a mesma data pode ter números de semana diferentes em softwares diferentes; confira qual sistema um calendário usa antes de comparar.

DataDia da semanaSemana ISO
29 de dezembro de 2025Segunda-feira2026-W01
1º de janeiro de 2026Quinta-feira2026-W01
31 de dezembro de 2026Quinta-feira2026-W53
1º de janeiro de 2027Sexta-feira2026-W53
4 de janeiro de 2027Segunda-feira2027-W01
1º de janeiro de 2028Sábado2027-W52

Como escrever datas: YYYY-MM-DD

07/10/2026 significa 7 de outubro no Reino Unido, na França, em Portugal, no Brasil e na maioria dos outros países que põem o dia primeiro, mas 10 de julho nos Estados Unidos. A data de calendário da ISO 8601 elimina a dúvida colocando a unidade maior primeiro: 2026-10-07, com o ano em quatro dígitos e o mês e o dia em dois.

Escritas assim, as datas também ficam na ordem certa quando ordenadas como texto simples. A RFC 3339, o perfil da ISO 8601 para a internet, observa que ordenar os componentes do menos preciso para o mais preciso torna as strings de data ordenáveis como texto, desde que todas usem o mesmo formato. É por isso que nomes de arquivo e exportações de planilhas que começam com 2026-10-07 se alinham sozinhos em ordem de data. A primeira parte desta série trata da hora do dia, dos deslocamentos UTC e dos fusos horários.

Perguntas frequentes

Quantos dias há entre duas datas?

Subtraia a data anterior da posterior: de 1º a 10 de março são 9 dias. Se você precisar contar o primeiro e o último dia, some um.

Por que 2100 não é um ano bissexto?

Os anos divisíveis por 100 só são bissextos se também forem divisíveis por 400. O ano 2000 foi, 2100 não é, e o próximo ano secular bissexto depois de 2000 é 2400.

Em que semana cai o 1º de janeiro?

Depende do dia da semana. Se cair de segunda a quinta-feira, está na semana 1 do novo ano; se cair de sexta-feira a domingo, pertence à última semana do ano anterior, como o 1º de janeiro de 2027, que pertence à semana 53 de 2026.

Por que o Excel aceita 29 de fevereiro de 1900?

O Excel trata 1900 como ano bissexto por compatibilidade com o Lotus 1-2-3, como a Microsoft documenta. O ano de 1900 não foi bissexto; o erro só afeta datas anteriores a 1º de março de 1900.

Quando faz aniversário quem nasceu em 29 de fevereiro?

Em 29 de fevereiro, nos anos bissextos. Nos outros anos, é uma questão de convenção ou de lei: a Calculadora de idade usa 1º de março, como faz a lei escocesa, mas as regras para a idade legal variam de país para país.

Anterior da série ← Timestamps Unix e fusos horários explicados

Referências

  1. US Naval Observatory — Leap Years
  2. US Naval Observatory — Introduction to Calendars
  3. Calendar (New Style) Act 1750
  4. Regulation (EEC, Euratom) No 1182/71 determining the rules applicable to periods, dates and time limits (1971)
  5. Directive 2000/84/EC on summer-time arrangements (2001)
  6. Microsoft Learn — Excel incorrectly assumes that the year 1900 is a leap year
  7. Microsoft Learn — DATEPART (Transact-SQL): week and ISO week
  8. MDN Web Docs — Date.prototype.setMonth()
  9. Age of Legal Capacity (Scotland) Act 1991, section 6
  10. WHATWG HTML Standard — Weeks
  11. ISO — ISO 8601 Date and time format
  12. RFC 3339 — Date and Time on the Internet: Timestamps (July 2002)

Guias relacionados