Calcular um aniversário de casamento ou de namoro
Publicado a 25/08/2026 · 12 min de leitura · Calculadoras do dia a dia
Antonio Delgado — Redator de Tradições e Lazer na Allin
Simbolismo · Calendários
Verificado a partir de 3 fontes
Dê-lhe 20 de junho de 2015 e pergunte a 28 de agosto de 2026: a calculadora devolve duas respostas que não são a mesma resposta. Decorrido: 11 anos, 2 meses e 8 dias, ou seja 4087 dias, 583 semanas, 134 meses completos, 98 088 horas e 5 885 280 minutos. À frente: o próximo aniversário cai a 20 de junho de 2027, será o décimo segundo, e faltam 296 dias. Onze atrás, doze à frente — não é um erro, é a diferença entre contar os anos cumpridos e numerar o que vem a seguir, e as duas coisas são calculadas por código diferente. O valor decorrido percorre os campos de ano, mês e dia e pede emprestado quando o dia do mês fica negativo; a contagem decrescente reconstrói o mesmo dia e mês no ano de referência, passa ao seguinte se essa data já ficou para trás, e subtrai. Para um casamento lê ainda duas linhas das listas de prendas: o ano cumprido, que aos onze anos dá o aço tanto na lista britânica como na americana, com a bijutaria como equivalente moderno, e o ano que vem, que aos doze dá a seda e o linho na Grã-Bretanha, a seda nos Estados Unidos, e as pérolas ou gemas coloridas na moderna. A única aritmética verdadeiramente difícil em tudo isto é o 29 de fevereiro, e a secção seguinte inteira trata da escolha que esta ferramenta faz.
Contar para trás e contar para a frente são duas contas diferentes, e divergem num ano no próprio dia. O que esta calculadora faz com o 29 de fevereiro, o que fazem outras bibliotecas de datas, e de onde vêm realmente as listas de prendas tradicionais e modernas.
29 de fevereiro mais um ano não tem resposta aritmética
Nenhum cálculo o resolve, porque a data de destino não existe. Todo o sistema que soma anos a uma data teve de escolher uma convenção, e só há duas: recuar para o último dia que existe, o que dá 28 de fevereiro, ou deixar o transbordo seguir, o que dá 1 de março. Esta calculadora recua. Constrói o aniversário pedindo o mesmo mês e dia no ano de destino, verifica se o mês que recebeu é o que pediu, e recua o dia numa unidade quando não é — o que, para um início a 29 de fevereiro, produz 28 de fevereiro em 2021, 2022, 2023, 2025, 2026, 2027, e de novo 29 de fevereiro em 2024 e 2028. Nunca propõe 1 de março, em ano nenhum.
Está em boa companhia. O LocalDate.plusYears de Java documenta exatamente esta regra e dá o mesmo exemplo: 2008-02-29 mais um ano seria o inválido 2009-02-29, por isso é escolhido o último dia válido do mês, 2009-02-28. A API Temporal que está a chegar ao JavaScript faz o mesmo por omissão, porque a sua opção overflow vale constrain, que recorta um valor fora de intervalo para o mais próximo válido; peça-lhe reject e lança um erro em vez de escolher por si. A exceção é o objeto Date do JavaScript presente em todos os navegadores há trinta anos: pegue no 29 de fevereiro de 2020, ponha o ano a 2021, e obtém 1 de março de 2021, porque o dia 29 de um fevereiro de 28 dias transborda simplesmente.
Esse recuo tem dentro desta ferramenta uma consequência que convém ver antes que o confunda. Ponha um início a 29 de fevereiro de 2020 e pergunte a 28 de fevereiro de 2025. A contagem decrescente anuncia que o quinto aniversário é hoje, daqui a 0 dias. O contador de decorrido, no mesmo ecrã, anuncia 4 anos, 11 meses e 30 dias. E o cartão de prenda mostra o quarto ano — frutos e flores — não o quinto. As duas metades da página estão a um ano de distância, e cada uma segue corretamente a sua própria regra: a contagem decrescente recuou o aniversário para 28 de fevereiro, ao passo que o contador de decorrido se recusa a dar um ano por cumprido enquanto o calendário não chegar a 1 de março. A 1 de março o decorrido salta para 5 anos certos e tudo volta a bater.
Contar para trás e contar para a frente são contas diferentes
«Há quanto tempo estamos juntos» e «quando é o nosso próximo aniversário» parecem duas vistas de um mesmo número e não são. A primeira é uma diferença entre duas datas, expressa em três unidades que pedem emprestado umas às outras; a segunda é a procura da próxima ocorrência futura de um par mês-dia, que pode não existir no ano em que se aterra. A ferramenta calcula ambas e mostra-as lado a lado, e vale mais ler o par do que uma só: onze anos decorridos e um décimo segundo aniversário a chegar é a situação normal em todos os dias do ano exceto no próprio dia do aniversário.
A decomposição do decorrido é aritmética de calendário e herda todas as irregularidades do calendário. Três meses não são noventa dias: de 1 de janeiro a 1 de abril de 2026 são 90, de 1 de junho a 1 de setembro são 92, e de 1 de fevereiro a 1 de maio são 89. Os três aparecem como exatamente 3 meses no ecrã, e os três estão certos. O total em dias ao lado é o número a usar para tudo o que tenha de bater certo, porque é uma simples subtração de duas meias-noites e não traz convenção nenhuma.
De onde vêm realmente as listas de prendas
Esta é a parte que as pessoas procuram, e merece ser dita sem rodeios: nenhum organismo de normalização publica nada disto. A fonte mais antiga que se pode mesmo abrir é o Etiquette de Emily Post, de 1922, e a sua lista tem oito entradas — 1 ano papel, 5 madeira, 10 estanho, 15 cristal, 20 porcelana, 25 prata, 50 ouro, 75 diamante — com um parágrafo a notar que as prendas de papel, madeira e estanho raramente são mais do que brincadeiras, e que o cristal é a primeira que alguém leva a sério. É todo o cânone em 1922. Tudo o que está entre esses marcos foi preenchido depois.
A ferramenta traz duas colunas tradicionais em vez de uma, porque as listas britânica e americana divergem mesmo e fundi-las inventaria um consenso que não existe. O ano seis é açúcar na Grã-Bretanha e ferro nos Estados Unidos. O ano oito é sal e bronze na Grã-Bretanha, bronze e cerâmica nos Estados Unidos. O ano nove é cobre e cerâmica na Grã-Bretanha, cerâmica e vime nos Estados Unidos. Passados os vinte e cinco convergem — prata, pérola, rubi, ouro, diamante — e o desacordo deixa de contar. A terceira coluna, a moderna, é outra coisa: a ferramenta atribui-a a uma lista publicada em 1937 pela American National Retail Jeweler Association, atribuição repetida por toda a internet mas que aqui não foi possível confirmar numa fonte primária. Leia-a como uma compilação comercial muito divulgada, não como uma origem documentada.
Onde as listas se calam, a ferramenta di-lo em vez de tapar o buraco. Os anos dezasseis a dezanove e vinte e um a vinte e quatro não têm prenda tradicional em nenhuma das duas colunas, e a página mostra que nenhuma lista atribui uma — o que é mais útil do que uma casa vazia, e bastante mais útil do que um material inventado para completar a série.
A escada de marcos, e a sua duplicação
Ao lado do aniversário, a ferramenta lista os seis próximos números redondos que vai passar, tirados de três escadas ao mesmo tempo: dias (100, 365, 500, 1000 e até 30 000), semanas (500 a 3000 de quinhentas em quinhentas) e anos (1, 5 e depois de cinco em cinco até 80). Para um início a 20 de junho de 2015 perguntado a 28 de agosto de 2026, devolve 5000 dias a 26 de fevereiro de 2029, quinze anos a 20 de junho de 2030, 6000 dias a 23 de novembro de 2031, 7000 dias a 19 de agosto de 2034, 1000 semanas a 19 de agosto de 2034, e vinte anos a 20 de junho de 2035.
Releia essa lista: duas linhas trazem a mesma data. 7000 dias são exatamente 1000 semanas, pelo que a escada dos dias e a das semanas colidem ali e as duas entradas são mantidas, gastando dois dos seis lugares disponíveis num só acontecimento. É o único ponto em que as duas escadas se encontram — nenhum outro marco em semanas cai sobre um marco em dias — por isso é uma curiosidade de uma linha e não um problema sistemático, mas significa que em certas datas lhe são mostrados cinco marcos distintos em vez de seis.
Um pormenor cosmético visível em todas as línguas da página: o marcador ordinal ao lado do próximo aniversário é o e sobrescrito francês, escrito em código, pelo que um leitor inglês vê um décimo segundo aniversário escrito «12ᵉ anniversary» e um leitor alemão «12ᵉ Jahrestag». Nada está mal contado — 12 são 12 — mas o sufixo pertence a uma das seis línguas e é impresso nas seis.
| Onde | Resposta | Regra que segue |
|---|---|---|
| Esta calculadora | 28 de fevereiro de 2021 | Recua o dia numa unidade quando o mês transborda |
| Java LocalDate.plusYears | 28 de fevereiro de 2021 | Documentado: escolhe-se o último dia válido do mês |
| Temporal, overflow por omissão | 28 de fevereiro de 2021 | «constrain» recorta um valor fora de intervalo para o mais próximo válido |
| Temporal com overflow: reject | Um erro | Recusa-se a escolher e devolve-lhe a decisão |
| Objeto Date do JavaScript | 1 de março de 2021 | O dia 29 de um fevereiro de 28 dias transborda para o mês seguinte |
| O próximo 29 de fevereiro real | 29 de fevereiro de 2024 | Quatro anos depois; a calculadora propõe esta data nos anos bissextos |
Perguntas frequentes
- O que faz esta calculadora com um aniversário a 29 de fevereiro?
- Leva-o para 28 de fevereiro nos anos comuns e mantém-no a 29 de fevereiro nos bissextos. Passe um início a 29 de fevereiro de 2020 por uma década e obtém 28 de fevereiro em 2021, 2022, 2023, 2025, 2026, 2027, 2029 e 2030, com 29 de fevereiro em 2024 e 2028. Nunca propõe 1 de março. Uma consequência a vigiar: a 28 de fevereiro de um ano não bissexto a contagem decrescente dir-lhe-á que o aniversário é hoje enquanto o contador de decorrido ainda marca um ano a menos, porque este só fecha o ano quando o calendário chega a 1 de março.
- Porque é que diz onze anos decorridos e um décimo segundo aniversário a chegar?
- Porque são duas perguntas diferentes. Os anos decorridos contam o que está terminado: passaram onze anos completos. O próximo aniversário numera o que vai acontecer, e o que vai acontecer é o décimo segundo. É exatamente como um aniversário de nascimento: tem-se onze anos durante todo o ano que termina no décimo segundo. Os dois números só coincidem no próprio dia do aniversário, quando a contagem decrescente marca zero dias e os anos decorridos alcançam.
- Porque é que «3 meses» não são sempre o mesmo número de dias?
- Porque o mês não é uma unidade de comprimento fixo, e a decomposição do decorrido é aritmética de calendário, não uma divisão. De 1 de janeiro a 1 de abril de 2026 há 90 dias, de 1 de junho a 1 de setembro 92, de 1 de fevereiro a 1 de maio 89 — os três aparecem como exatamente 3 meses, e os três estão certos. Se precisar de um valor que bata certo ou que compare períodos, use o total em dias ao lado: esse é uma subtração limpa de duas meias-noites e não traz convenção nenhuma.
- De onde vêm as listas de prendas tradicionais e modernas?
- Da literatura de etiqueta e, mais tarde, do comércio de joalharia — de nenhum organismo de normalização. A lista mais antiga que pode ler por si está no Etiquette de Emily Post de 1922, e tem oito entradas: papel a um ano, madeira aos cinco, estanho aos dez, cristal aos quinze, porcelana aos vinte, prata aos vinte e cinco, ouro aos cinquenta e diamante aos setenta e cinco. Tudo o que preenche os buracos veio depois, e as listas tradicionais britânica e americana discordam aos seis, oito e nove anos, razão pela qual a ferramenta as mostra em duas colunas em vez de as fundir. A coluna moderna é largamente atribuída a uma publicação do setor de 1937; essa atribuição não pôde ser confirmada aqui numa fonte primária.
- Porque é que duas linhas de marcos mostram a mesma data?
- Porque 7000 dias e 1000 semanas são o mesmo instante, e a ferramenta tira os seus marcos de uma escada em dias e de outra em semanas ao mesmo tempo, sem verificar se as duas colidem. Colidem exatamente uma vez — nenhum outro marco em semanas cai sobre um marco em dias nas suas listas — por isso custa-lhe um dos seis lugares, na única vez em que acontece. Nada é mal calculado; são-lhe simplesmente mostrados cinco acontecimentos distintos em vez de seis à volta dessa data.
Artigos que podem interessar-lhe
Todos os guias →Ferramentas relacionadas
Isto descreve o que estas calculadoras fazem hoje, verificado executando o próprio código delas, e não o que deveriam fazer. A sensação térmica pelo vento e o ponto de orvalho são modelos com limites publicados, não medições: nenhum termómetro lê uma sensação térmica, e nenhum destes índices substitui um boletim oficial nem um aviso de frio ou de calor do serviço meteorológico nacional. Se a decisão é saber se é seguro sair, e por quanto tempo, leia o aviso, não a calculadora. As convenções de relógio e de calendário aqui descritas são usos, não direito: a forma como um contrato, uma seguradora ou um tribunal lê «meia-noite» ou uma data de aniversário é uma questão jurídica que difere de país para país, e a resposta de um programa não é prova dela.
Fontes
- Project Gutenberg — Emily Post, Etiquette in Society, in Business, in Politics and at Home (1922) — The “Wedding Anniversaries” list as it stood in 1922, with eight entries — 1 year paper, 5 wood, 10 tin, 15 crystal, 20 china, 25 silver, 50 gold, 75 diamond — and the remark that paper, wooden and tin presents are seldom anything but jokes, crystal being the earliest taken seriously
- Oracle — Java SE API documentation — java.time.LocalDate, plusYears(long) — “2008-02-29 (leap year) plus one year would result in the invalid date 2009-02-29 (standard year). Instead of returning an invalid result, the last valid day of the month, 2009-02-28, is selected instead.”
- TC39 — Temporal proposal documentation — Temporal.PlainDate — the overflow option: in “constrain” mode, the default, out-of-range values are clamped to the nearest in-range value; in “reject” mode an out-of-range addition throws a RangeError instead
Detetaste um erro neste artigo?