Calculadora de crepúsculo civil: alvorada e anoitecer UTC
Em 21 de junho de 2026, na latitude 40,7128 e longitude -74,006, o crepúsculo civil começa às 08:51 UTC e termina à 01:04 UTC do dia seguinte. Informe a data e as coordenadas e receba os dois momentos, com o Sol 6 graus abaixo do horizonte. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Data
- 2026-06-21
- Latitude
- 40,7128
- Longitude
- -74,006
- Depressão solar (°)
- 6
- Precisão
- approximate
- Status
- ok
- Início do crepúsculo civil (UTC)
- 2026-06-21T08:51:00Z
Esta calculadora de crepúsculo civil estima quando começa o crepúsculo civil da manhã e quando termina o da noite para uma data gregoriana, latitude e longitude específicas. Ela retorna registros de data e hora em UTC, de forma determinística, usando apenas os valores fornecidos por você. O crepúsculo civil adota o limite convencional em que o centro do Sol fica 6 graus abaixo do horizonte. O resultado é útil para planejamento, agendamento, fotografia, operações ao ar livre e fluxos de dados que exigem uma aproximação reproduzível, em vez de observações em tempo real ou pesquisa de localização.
Informe uma data e uma localização exatas
Forneça a data do calendário no formato estrito YYYY-MM-DD e depois informe latitude e longitude em graus decimais. Latitude positiva indica norte e negativa indica sul; longitude positiva indica leste e negativa indica oeste. O cálculo não deduz cidade, fuso horário, elevação nem regra de horário de verão.
Assim, o contrato fica inequívoco: as mesmas três entradas sempre geram o mesmo resultado UTC, independentemente de onde a solicitação seja executada. UTC é especialmente útil em sistemas automatizados, pois evita horários locais duplicados ou inexistentes durante transições de horário de verão. Em locais muito a leste ou a oeste de Greenwich, um registro retornado pode cair na data UTC anterior ou seguinte; isso é normal e não significa que a data solar local solicitada tenha mudado.
Verifique com atenção os sinais das coordenadas, pois inverter uma longitude desloca os eventos estimados em muitas horas. A faixa aceita de latitude vai de -90 a 90, e a de longitude, de -180 a 180. Datas impossíveis e coordenadas não finitas são rejeitadas em vez de ajustadas silenciosamente.
Entenda a aproximação
Por convenção, o crepúsculo civil é delimitado por um zênite solar de 96 graus, equivalente ao centro do Sol 6 graus abaixo de um horizonte ideal. A calculadora estima a anomalia média, a longitude verdadeira, a ascensão reta, a declinação e o ângulo horário do Sol e então converte para UTC os dois cruzamentos do limite. Os resultados são arredondados para o minuto mais próximo porque este método compacto de posição solar é aproximado; exibir uma precisão artificial abaixo de um segundo seria enganoso.
Não são modelados a refração atmosférica, a elevação do observador, o relevo, os edifícios, o rebaixamento do horizonte marítimo, condições meteorológicas incomuns nem pequenas correções astronômicas de ordem superior. Esses fatores podem alterar o que uma pessoa realmente observa. Considere a saída uma estimativa para planejamento, não uma observação crítica para segurança nem um almanaque oficial.
O algoritmo usa aritmética pura, sem o relógio do dispositivo, banco de dados de fusos horários, serviço de rede, valores aleatórios ou objetos Date do JavaScript.
Interprete resultados normais e polares
O início da manhã marca a passagem ascendente do Sol por 6 graus abaixo do horizonte; o fim da noite marca a passagem descendente. Próximo aos círculos Ártico ou Antártico, o limite escolhido pode não ser cruzado em determinada data. Ao apresentar o resultado a pessoas, converta os registros UTC com uma biblioteca de fusos horários confiável e identifique claramente o fuso de destino.
Ao programar máquinas ou trabalho de campo, acrescente uma margem operacional e consulte fontes locais oficiais, pois relevo e condições atmosféricas podem mudar a luz visível independentemente do limite geométrico calculado.
Casos de uso
Planejar uma sessão de fotos ao ar livre
Estime a janela UTC próxima à alvorada e ao anoitecer antes de convertê-la para o fuso horário civil do local.
Programar iluminação automatizada
Crie estimativas diárias reproduzíveis de acionamento usando datas e coordenadas armazenadas, sem consultar serviços meteorológicos ou de geocodificação.
Anotar dados ambientais
Classifique observações em relação aos limites aproximados do crepúsculo civil com um cálculo determinístico adequado a fluxos repetíveis.
Perguntas frequentes
O que significa crepúsculo civil?
É o período em que o centro do Sol fica entre o horizonte e 6 graus abaixo dele. Esta calculadora estima os cruzamentos externos desse limite de 6 graus.
Os horários retornados são locais?
Não. São registros UTC no formato ISO 8601 terminados em Z. Converta-os separadamente se precisar de um fuso horário local nomeado.
Qual é a precisão dos resultados?
São aproximações para planejamento, arredondadas ao minuto mais próximo. Elevação, relevo, refração, clima e efeitos astronômicos de ordem superior não são modelados.
Por que não há horários em alguns locais polares?
Em certas datas, o Sol nunca cruza 6 graus abaixo do horizonte. A resposta informa essa condição e omite os registros de eventos inexistentes.
A ferramenta usa o relógio do meu dispositivo ou um serviço ao vivo?
Não. Ela usa apenas a data, a latitude e a longitude fornecidas, portanto entradas idênticas geram resultados idênticos.
Ferramentas relacionadas
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/civil-twilight-approx \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"date":"2026-06-21","lat":40.7128,"lon":-74.006}'const res = await fetch("https://api.kit.forhosting.com/date/civil-twilight-approx", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"date": "2026-06-21",
"lat": 40.7128,
"lon": -74.006
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/civil-twilight-approx",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"date": "2026-06-21",
"lat": 40.7128,
"lon": -74.006
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/civil-twilight-approx", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"date":"2026-06-21","lat":40.7128,"lon":-74.006}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"date":"2026-06-21","lat":40.7128,"lon":-74.006}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/civil-twilight-approx", 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
{
"date": "2026-06-21",
"lat": 40.7128,
"lon": -74.006
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.civil_twilight_approx",
"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. |
Notas técnicas
Interprete resultados normais e polares
Para a maioria das datas e latitudes habitadas, status é ok, e a resposta inclui civil_twilight_begin_utc e civil_twilight_end_utc como registros ISO 8601 terminados em Z. Nesse caso, a resposta omite intencionalmente os dois horários de evento, informa no_civil_twilight_crossing e identifica se o Sol permanece acima ou abaixo do limite do crepúsculo civil durante todo o dia. Isso é mais preciso do que inventar valores de meia-noite ou retornar campos null que um código posterior poderia confundir com eventos.
Perguntas técnicas
Quanto custa uma solicitação de API?
O preço básico é US$ 0,002 por solicitação. A mesma lógica determinística também pode ser executada na experiência do navegador.