Diferença em décadas entre datas
A calculadora de diferença em décadas mede quantos períodos completos de dez anos separam duas datas ISO explícitas.
Executar grátis
Informe uma data inicial e uma final no formato YYYY-MM-DD para receber um inteiro: positivo quando a data final for posterior, negativo quando for anterior e zero quando ainda não tiverem transcorrido dez anos completos. O cálculo aplica regras fixas do calendário gregoriano em UTC, sem permitir que a hora atual, o fuso horário do navegador ou qualquer serviço externo altere a resposta.
O que representa uma década completa nesta calculadora
Uma década completa é um intervalo de dez anos de calendário concluído a partir da primeira data, e não uma simples comparação dos nomes de décadas impressos em um calendário. De 15 de junho de 2000 a 14 de junho de 2020, apenas uma década inteira terminou, pois ainda falta um dia para o segundo aniversário de dez anos. Em 15 de junho de 2020, o resultado passa a dois. Essa distinção impede que datas próximas de um aniversário sejam arredondadas para cima apenas porque os números dos anos diferem em vinte. Ela também significa que duas datas podem estar em décadas nominais diferentes e ainda produzir zero. A saída é propositalmente um inteiro e descarta o restante incompleto depois do último aniversário de dez anos. Isso é útil quando uma política, um arquivo, um contrato ou uma regra de relatório se refere a décadas concluídas, e não a uma duração aproximada. As duas entradas devem ser datas ISO explícitas no formato YYYY-MM-DD, deixando a interpretação visível e reproduzível.
Direção do sinal, regras UTC e dias bissextos
O sinal segue a ordem em que você fornece as datas. Se a segunda data vier depois da primeira, a contagem será positiva. Se vier antes, a mesma quantidade de décadas completas será devolvida como um inteiro negativo. Datas iguais retornam zero. Portanto, inverter o par inverte o sinal sem mudar a magnitude, o que facilita ordenações, comparações e cálculos direcionais. A validação e a aritmética de calendário usam regras gregorianas prolépticas e não recorrem ao objeto Date do JavaScript. Não há conversão de fuso horário local, mudança de horário de verão, relógio atual, consulta de rede nem analisador dependente da localidade. Quando a data inicial é 29 de fevereiro, o aniversário é tratado como 28 de fevereiro se o ano de destino não for bissexto. Esse ajuste explícito fornece uma resposta estável nos limites de anos bissextos e mantém o cálculo coerente com a aritmética usual de durações de calendário. São aceitos anos de 0001 a 9999.
Como usar o resultado com segurança
Envie a data ISO inicial no campo from e a data ISO final no campo to. A resposta repete as duas entradas validadas, fornece a contagem de décadas com sinal e classifica a direção como para a frente, para trás ou zero. Use o inteiro diretamente quando precisar de períodos completos de dez anos, como ao agrupar programas duradouros pelo tempo transcorrido, verificar se um marco de aniversário foi alcançado ou descrever o intervalo entre registros históricos. Não o trate como uma estimativa decimal de anos: um resultado de três informa que três décadas completas de calendário transcorreram, não que as datas estejam separadas por exatamente trinta anos sem meses ou dias restantes. Esta capacidade também não deduz datas de expressões em linguagem natural, formatos regionais, carimbos de data e hora ou do momento presente. Essas exclusões são intencionais, pois entradas explícitas tornam chamadas repetidas à API determinísticas. Uma solicitação custa US$ 0,002 pela API, enquanto a versão no navegador usa o mesmo cálculo puro para produzir uma saída correspondente.
Casos de uso
Verificar um aniversário de longo prazo
Determine se um projeto, uma instituição, um acordo ou uma coleção já completou uma quantidade específica de aniversários de dez anos.
Comparar registros históricos
Produza um intervalo estável e com sinal entre duas datas de arquivo sem depender do fuso horário do computador ou do relógio atual.
Criar regras determinísticas para relatórios
Classifique registros por décadas completas de calendário com o mesmo comportamento de limites no navegador e em fluxos de API.
Perguntas frequentes
O que o sinal significa?
Um número positivo indica que 'to' é posterior a 'from'; um número negativo indica que é anterior; zero significa que nenhuma década completa as separa.
A calculadora arredonda décadas parciais?
Não. Ela conta apenas aniversários completos de dez anos de calendário e descarta qualquer restante incompleto.
Qual formato de data é aceito?
Os dois valores devem ser datas ISO explícitas no formato YYYY-MM-DD, com anos entre 0001 e 9999.
Como 29 de fevereiro é tratado?
Quando um aniversário de dez anos cai em um ano não bissexto, 29 de fevereiro é ajustado para 28 de fevereiro na comparação.
O fuso horário ou o horário de verão afetam a resposta?
Não. O cálculo usa aritmética determinística de datas do calendário gregoriano em UTC e nunca consulta o fuso horário local.
Quanto custa uma solicitação pela API?
Cada solicitação pela API custa US$ 0,002. O cálculo também pode ser executado gratuitamente no navegador.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/date/diff-in-decades \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"from":"1985-07-25","to":"2026-07-25"}'const res = await fetch("https://api.kit.forhosting.com/date/diff-in-decades", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"from": "1985-07-25",
"to": "2026-07-25"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/diff-in-decades",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"from": "1985-07-25",
"to": "2026-07-25"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/diff-in-decades", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"from":"1985-07-25","to":"2026-07-25"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"from":"1985-07-25","to":"2026-07-25"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/diff-in-decades", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"from": "1985-07-25",
"to": "2026-07-25"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.diff_in_decades",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |