ForHosting KIT · Datas e tempo

Anos bissextos em um intervalo

Digite dois anos e receba todos os bissextos entre eles, com as duas pontas incluídas: de 2000 a 2024 são 7, começando em 2000 e terminando em 2024. Os anos de virada de século seguem a regra gregoriana, então 1900 fica de fora e 2000 conta. Grátis no seu navegador.

  • Grátis
  • Funciona no seu navegador
  • Sem cadastro
  • Seus dados não saem do seu aparelho
Use pelo WebAPIE-mailTelegramApp em breve
Se você digitar
Ano inicial
2.000
Ano final
2.024
Você obtém
Amplitude de anos
25
Quantidade
7
Regra
Gregorian: year%4==0 and (year%100!=0 or year%400==0)

Os anos bissextos acrescentam um dia extra — 29 de fevereiro — para que o calendário civil permaneça alinhado com o ano tropical. Pelo sistema gregoriano usado hoje pela maior parte do mundo, um ano é bissexto quando é divisível por quatro, exceto os anos seculares, que também precisam ser divisíveis por quatrocentos. Isso significa que 2000 é bissexto, 1900 não é, e anos comuns como 2024 e 2028 são. Esta ferramenta recebe um ano inicial e um ano final inclusivos, percorre cada ano do intervalo com um teste de bissexto puro e determinístico e devolve tanto a contagem quanto a lista ordenada dos anos bissextos. Quando o ano inicial é maior que o final, a solicitação falha com um erro de validação claro, em vez de trocar os limites silenciosamente.

Como os anos bissextos gregorianos são decididos

A reforma gregoriana aperfeiçoou a antiga regra juliana de que cada quarto ano seria bissexto. Pelas regras gregorianas, um ano Y é bissexto se e somente se Y é divisível por quatro e, além disso, Y não é divisível por cem ou Y é divisível por quatrocentos. Em forma compacta: é bissexto quando Y módulo quatro é igual a zero e (Y módulo cem não é zero ou Y módulo quatrocentos é igual a zero).

Os anos seculares que não passam no teste dos quatrocentos — 1700, 1800, 1900, 2100 — são anos comuns de apenas trezentos e sessenta e cinco dias, enquanto 1600 e 2000 continuam bissextos. Esta capacidade aplica a regra gregoriana proléptica de forma uniforme para cada ano inteiro de um a nove mil novecentos e noventa e nove, em sintonia com as demais ferramentas de calendário do catálogo KIT.

A implementação nunca chama o Date do JavaScript, nunca lê o relógio do sistema e nunca acessa a rede: faz parse de dois anos inteiros, rejeita um intervalo invertido e depois percorre o intervalo inclusivo coletando cada ano que passa no predicado de bissexto.

Onde as listas de intervalos de anos bissextos aparecem no trabalho real

Problemas de escola e de competições perguntam constantemente quantos anos bissextos caem entre dois anos ou quais anos de um século incluem vinte e nove de fevereiro; um oráculo confiável que devolve a contagem e a lista completa acelera a correção e a preparação de demonstrações. Equipes de produto e operações que constroem roadmaps plurianuais, coortes de retenção ou calendários de cobrança precisam saber quando fevereiro tem vinte e nove dias para que cronogramas, SLAs e fórmulas de contagem de dias permaneçam corretos.

Softwares que geram arquivos ICS, calendários de períodos letivos ou períodos de folha de pagamento para horizontes longos se beneficiam de uma função pura que nunca depende do fuso horário do hospedeiro nem das peculiaridades do construtor Date. Se mais tarde você precisar de ordinais de dia do ano, contagens de fins de semana entre duas datas ISO ou números de dia juliano, trate-os como intenções de busca e landings separadas, em vez de sobrecarregar esta página de intervalos de anos bissextos.

Gabaritos para lição de casa e competições

Gere a lista ordenada e a contagem de anos bissextos entre dois anos para que professores e corretores automáticos compartilhem uma única verdade gregoriana.

Calendários de planejamento plurianual e cobrança

Marque cada 29 de fevereiro em um roadmap de produto, coorte de retenção ou horizonte de cobrança sem bugs de Date sensíveis ao fuso horário.

Qual regra de ano bissexto esta ferramenta usa?

A gregoriana proléptica: um ano é bissexto se é divisível por 4, exceto os anos seculares, que devem ser divisíveis por 400. Assim, 2000 é bissexto, 1900 não é, e 2024 é.

O intervalo de anos é inclusivo?

Um intervalo de um único ano devolve um ano bissexto ou uma lista vazia com contagem zero.

Ela usa o Date do JavaScript?

Não. O algoritmo é aritmética inteira pura sobre o predicado gregoriano de bissexto. Sem Date, sem rede e sem aleatoriedade.

Quanto custa?

A ferramenta do navegador é gratuita e roda localmente.

E se eu digitar o ano inicial depois do final?

O intervalo é recusado com uma mensagem clara, em vez de ser invertido sem aviso, então um erro de digitação em qualquer um dos anos aparece na hora. Digite primeiro o ano anterior; um intervalo de um só ano vale.

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.

POSThttps://api.kit.forhosting.com/date/leap-years-between

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/date/leap-years-between \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"start_year":2000,"end_year":2024}'
{
  "start_year": 2000,
  "end_year": 2024
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "date.leap_years_between",
  "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.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Como os anos bissextos gregorianos são decididos

O JSON resultante ecoa os limites, a amplitude de anos, a contagem, a lista ascendente e uma breve string com a regra, para que você possa auditar o algoritmo sem abrir o código-fonte. O preço das chamadas API bem-sucedidas é a base publicada de US$ 0,002 por item; falhas de validação não consomem saldo pré-pago.

O que você envia e o que recebe de volta

Ambos são obrigatórios e devem ser inteiros finitos de um a nove mil novecentos e noventa e nove. O intervalo é inclusivo: uma solicitação de dois mil a dois mil e quatro informa cada ano bissexto entre dois mil, dois mil e um, dois mil e dois, dois mil e três e dois mil e quatro. Verificações típicas incluem de dois mil a dois mil e vinte e quatro para as décadas modernas, de mil oitocentos e noventa e seis a mil novecentos e quatro para mostrar que mil novecentos é pulado enquanto dois mil não, e um intervalo de um único ano em que o único bissexto possível é o próprio ano. Envie dois campos inteiros chamados start_year e end_year. Se start_year exceder end_year, o manipulador falha com invalid_input e uma mensagem de que o início não deve exceder o fim, para que os clientes corrijam a ordem em vez de adivinhar. Campos ausentes, strings não numéricas, floats, NaN, Infinity e anos fora da faixa permitida também falham com invalid_input e não são cobrados. Em caso de sucesso, a resposta inclui start_year, end_year, inclusive como true, year_span igual a fim menos início mais um, count igual ao tamanho da lista de anos bissextos, leap_years como um array ascendente de inteiros, além das strings rule e formula que descrevem o teste gregoriano. O caminho do navegador roda localmente sem custo; o preço da API é US$ 0,002 por item bem-sucedido.

Onde as listas de intervalos de anos bissextos aparecem no trabalho real

Como esta capacidade é um motor de parse puro, o preço da API é a base publicada de US$ 0,002 por item bem-sucedido e a validação falha não consome saldo.

Testes de dimensão de data em data warehouse

Use listas gregorianas de bissextos como fixtures para validação de ETL, calendários fiscais e tabelas de anos prolépticos ao longo de décadas ou séculos.

E se start_year for maior que end_year?

A solicitação falha com invalid_input. Os limites não são trocados automaticamente, de modo que uma entrada invertida nunca é aceita em silêncio.

Ver a documentação completa do KIT →