Cron às 9h: fusos horários e horário de verão
Um trabalho às 9h, uma mudança de relógio e os três carimbos de tempo que valem a pena verificar antes de fazer o deploy.
Um job de dias úteis roda às 9h durante todo o inverno. Depois da mudança para o horário de verão, ele passa a rodar às 10h. A expressão cron pode ser perfeitamente válida: o agendador estava seguindo UTC enquanto você esperava horário local.
Antes de copiar uma agenda para um serviço, decida qual relógio ela deve seguir. Um relatório diário para uma equipe em Melbourne e um backup horário não precisam necessariamente da mesma regra.
O fuso horário não está na expressão
Esta expressão de cinco campos significa 09:00, de segunda a sexta:
0 9 * * MON-FRI
Ela não indica de qual lugar são essas 09:00. O fuso horário é definido pelo agendador. No construtor de cron do CozyToolkit, escolher um fuso horário muda a pré-visualização; não adiciona um fuso horário à expressão que você copia.
Se o seu serviço de hospedagem suporta um fuso horário nomeado, use um como Australia/Melbourne. Um offset fixo como UTC+10 não consegue acompanhar as mudanças sazonais de relógio de Melbourne.
Três execuções em uma mudança de relógio
Pré-visualizamos essa expressão em Australia/Melbourne, começando à meia-noite de 2 de outubro de 2026. Estas são as próximas três execuções em dias úteis:
| Horário de Melbourne | Horário UTC |
|---|---|
| Sexta, 2 de outubro, 09:00 (UTC+10) | Quinta, 1 de outubro, 23:00 |
| Segunda, 5 de outubro, 09:00 (UTC+11) | Domingo, 4 de outubro, 22:00 |
| Terça, 6 de outubro, 09:00 (UTC+11) | Segunda, 5 de outubro, 22:00 |
A hora local permanece às 9h. A hora UTC muda. Se, em vez disso, definirmos a pré-visualização para UTC, a mesma expressão produz 09:00 UTC nesses dias úteis—19:00 em Melbourne na sexta e 20:00 na segunda.
Você pode baixar a agenda e ambos os conjuntos de timestamps. As datas nesse arquivo são timestamps ISO; o Z no final significa UTC.
Reproduza a pré-visualização
- Abra o construtor de cron e escolha Colar expressão.
- Cole a expressão acima em Expressão cron.
- Defina Fuso horário da agenda para
Australia/Melbourne. - Defina Pré-visualizar depois para 2 de outubro de 2026 às 00:00. A data e a hora usam o fuso horário que você selecionou.
- Verifique Próximas execuções. No celular, mude da aba de agenda para a aba de próximas execuções.
- Mude o fuso horário para UTC e compare. Verifique também a data de início da pré-visualização: o controle exibe o mesmo instante no fuso horário recém-selecionado.
Isso pré-visualiza datas; não cria nem executa um job agendado. Defina o fuso horário novamente no serviço que irá executá-lo.
Se o seu agendador só usa UTC
Os Cron Triggers do Cloudflare rodam em UTC. Copiar a expressão acima em um Worker, portanto, agendará 09:00 UTC, independentemente do fuso horário que você usou na nossa pré-visualização.
Se a tarefa precisa seguir o horário local, há algumas opções: um agendador com suporte a fuso horário nomeado, mudanças sazonais de agenda, ou um trigger mais frequente cuja aplicação verifica a data e a hora locais e registra se o job do dia já foi executado. Uma agenda UTC fixa sozinha não permanecerá às 9h em uma cidade que muda seus relógios.
Há outra armadilha de portabilidade: os números dos dias da semana diferem entre implementações de cron. O Cloudflare usa 1 para domingo; nosso construtor usa a convenção comum de 0 para domingo. Use nomes de dias como MON-FRI quando o destino os suportar, e verifique a documentação dele antes de implantar.
Confira as datas especiais antes de colocar em produção
Pré-visualize a semana antes e depois de uma mudança de horário de verão. Para agendas mensais, verifique também fevereiro e meses sem dia 31.
Um horário de madrugada como 02:30 pode desaparecer ou ocorrer duas vezes quando os relógios mudam. Agendadores diferentes podem lidar com isso de maneiras diferentes. Decida se deve pular, atrasar ou deduplicar o job, e então teste o serviço real. Uma pré-visualização de outro parser não é uma garantia do comportamento dele.
Em 1º de outubro de 2026, verificamos esses timestamps usando o mesmo parser com suporte a fusos horários da ferramenta e confirmamos os horários locais correspondentes. Os resultados do teste registram as entradas e saídas. Nenhum job agendado foi implantado para este exemplo.