Fim do horário de verão na UE: último domingo de outubro
A calculadora do fim do horário de verão da UE encontra o último domingo de outubro do ano informado por você e retorna o instante correspondente às 01:00 UTC.
Executar grátis
Ela usa aritmética do calendário gregoriano, e não o relógio ou o fuso horário do dispositivo, por isso a mesma entrada sempre produz a mesma resposta. É útil para montar cronogramas, validar dados de calendário, preparar informações de viagem ou documentar o fim do horário de verão europeu. Informe um ano a partir de 1996 para receber uma data ISO e um registro UTC sem ambiguidade.
O que a calculadora retorna
Informe um ano do calendário gregoriano e a calculadora retornará a data do último domingo de outubro. O resultado contém o ano de entrada, uma data ISO no formato YYYY-MM-DD, o nome do dia da semana e um registro da transição em UTC terminado em Z. O horário é fixado em 01:00 UTC, o instante de referência comum para a mudança coordenada do horário de verão europeu. Usar UTC é importante porque os horários locais variam entre os fusos da Europa: no mesmo instante, um país pode descrever a mudança como 02:00 e outro como 03:00. O UTC oferece a sistemas, fluxos de dados e documentos um ponto estável de intercâmbio. A capacidade aceita anos de 1996 a 9999. Ela não consulta o fuso do aparelho, não presume um país e não converte a transição para a hora civil local. O dia numérico sempre fica entre 25 e 31 de outubro. A API custa US$ 0,002 por solicitação, e o navegador usa a mesma lógica determinística.
Como o último domingo é calculado
O cálculo começa em 31 de outubro do ano solicitado. Ele determina o dia da semana por meio de aritmética inteira do calendário gregoriano, na qual domingo corresponde a zero e sábado a seis. Em seguida, esse número é subtraído de 31. Se o dia 31 já for domingo, nada é subtraído; se for segunda-feira, subtrai-se um dia, e assim por diante. Isso produz o domingo mais próximo que não ultrapassa o fim de outubro e, portanto, o último domingo do mês. O método considera as regras gregorianas de anos bissextos, inclusive os anos de século, que só são bissextos quando divisíveis por 400. Nenhum objeto de data do sistema é usado, então configurações de horário de verão, idioma, fuso e relógio do dispositivo não alteram a resposta. Também não há consulta de rede nem banco de dados de fusos mutável. A validação rejeita valores ausentes, decimais, textos usados como anos e números fora do intervalo aceito, sem fazer conversões silenciosas que poderiam gerar uma data enganosa.
Como usar o resultado corretamente
Use a data retornada quando você precisar da regra anual da UE como valor de calendário e use utc_transition quando um sistema precisar de um instante exato. Um serviço de agendamento pode, por exemplo, armazenar o registro terminado em Z e convertê-lo para cada pessoa somente na exibição. Um fluxo de relatórios pode comparar sua própria tabela de transições com a data calculada, enquanto uma publicação de viagem pode usar a data como lembrete para revisar horários sazonais. Não interprete a saída como uma conversão completa de fuso horário. Cada local possui deslocamentos UTC, siglas e práticas históricas diferentes, e alguns territórios europeus não seguem a regra. A calculadora também não prevê mudanças legislativas futuras; ela aplica de forma determinística a regra informada do último domingo de outubro. Se o seu aplicativo precisar de um horário local como 02:00 ou 03:00, combine o instante UTC com uma biblioteca de fusos e a zona IANA desejada. Separar o cálculo da apresentação local evita registros ambíguos e facilita auditorias.
Casos de uso
Montar cronogramas anuais
Gere uma transição UTC estável para um calendário, agendador ou manual de operações.
Validar tabelas de fusos
Compare uma data gerada ou importada com um resultado aritmético independente para a UE.
Preparar avisos de viagens e eventos
Identifique a data de outubro que exige um aviso de mudança antes da conversão para um local específico.
Perguntas frequentes
Quando termina o horário de verão da UE?
Pela regra calculada aqui, ele termina no último domingo de outubro às 01:00 UTC. A data exata muda a cada ano.
Por que a transição é informada em UTC?
O UTC identifica um instante sem ambiguidade. Os horários locais variam entre os fusos europeus mesmo com uma transição coordenada.
A calculadora usa o fuso horário do meu dispositivo?
Não. Ela usa aritmética inteira do calendário gregoriano, portanto as configurações locais não afetam a resposta.
Posso usar o resultado como horário local?
Use o registro UTC como instante de origem e depois faça a conversão com as regras do local desejado.
Quanto custa uma solicitação de API?
Cada solicitação de API custa US$ 0,002. O mesmo cálculo determinístico também está disponível 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/daylight-saving-end-eu \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"year":2026}'const res = await fetch("https://api.kit.forhosting.com/date/daylight-saving-end-eu", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"year": 2026
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/daylight-saving-end-eu",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"year": 2026
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/daylight-saving-end-eu", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"year":2026}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"year":2026}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/daylight-saving-end-eu", 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
{
"year": 2026
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.daylight_saving_end_eu",
"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. |