Calculadora del crepúsculo civil: amanecer y anochecer UTC
El 21 de junio de 2026, en latitud 40,7128 y longitud -74,006, el crepúsculo civil empieza a las 08:51 UTC y termina a las 01:04 UTC del día siguiente. Indique fecha y coordenadas y verá ambos momentos, con el Sol 6 grados bajo el horizonte. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Fecha
- 2026-06-21
- Latitud
- 40,7128
- Longitud
- -74,006
- Depresión solar (°)
- 6
- Precisión
- approximate
- Estado
- ok
- Inicio del crepúsculo civil (UTC)
- 2026-06-21T08:51:00Z
Esta calculadora de crepúsculo civil estima cuándo comienza el crepúsculo civil matutino y cuándo termina el vespertino para una fecha gregoriana, una latitud y una longitud concretas. Devuelve marcas de tiempo UTC deterministas basadas únicamente en los valores que usted proporciona. El crepúsculo civil emplea el umbral convencional en el que el centro del Sol se encuentra 6 grados por debajo del horizonte. El resultado sirve para planificación, programación, fotografía, operaciones al aire libre y flujos de datos que requieren una aproximación reproducible en lugar de observaciones en directo o una búsqueda de ubicación.
Introduzca una fecha y una ubicación exactas
Indique la fecha del calendario en el formato estricto YYYY-MM-DD y, a continuación, escriba la latitud y la longitud en grados decimales. La latitud positiva corresponde al norte y la negativa al sur; la longitud positiva corresponde al este y la negativa al oeste. El cálculo no deduce ninguna ciudad, zona horaria, elevación ni regla de horario de verano.
Así, el contrato resulta inequívoco: las mismas tres entradas siempre producen el mismo resultado UTC, independientemente de dónde se ejecute la solicitud. UTC resulta especialmente útil en sistemas automatizados porque evita horas locales duplicadas o inexistentes durante los cambios de horario. Para ubicaciones muy al este o al oeste de Greenwich, una marca de tiempo devuelta puede caer en la fecha UTC anterior o posterior; esto es normal y no significa que haya cambiado la fecha solar local solicitada.
Compruebe con cuidado los signos de las coordenadas, pues invertir una longitud desplaza varias horas los eventos estimados. El intervalo admitido es de -90 a 90 para la latitud y de -180 a 180 para la longitud. Las fechas imposibles y las coordenadas no finitas se rechazan en vez de ajustarse silenciosamente.
Comprenda la aproximación
El crepúsculo civil queda delimitado convencionalmente por un cenit solar de 96 grados, equivalente a situar el centro del Sol 6 grados por debajo de un horizonte ideal. La calculadora estima la anomalía media, la longitud verdadera, la ascensión recta, la declinación y el ángulo horario del Sol, y después convierte a UTC los dos cruces del umbral. Los resultados se redondean al minuto más cercano porque este método compacto de posición solar es aproximado; mostrar una precisión artificial inferior al segundo lo representaría de forma engañosa.
No se modelan la refracción atmosférica, la elevación del observador, el relieve, los edificios, la depresión del horizonte marino, las condiciones meteorológicas inusuales ni pequeñas correcciones astronómicas de orden superior. Estos factores pueden modificar lo que una persona observa realmente. Considere el resultado como una estimación de planificación, no como una observación crítica para la seguridad ni como un almanaque oficial.
El algoritmo utiliza aritmética pura, sin el reloj del equipo, una base de datos de zonas horarias, un servicio de red, valores aleatorios ni objetos Date de JavaScript.
Interprete los resultados normales y polares
El inicio matutino señala el cruce ascendente del Sol por los 6 grados bajo el horizonte; el final vespertino señala el cruce descendente. Cerca de los círculos ártico o antártico, es posible que el umbral elegido no se cruce en una fecha determinada. Al presentar el resultado a otras personas, convierta las marcas UTC con una biblioteca de zonas horarias fiable e identifique claramente la zona de destino.
Para programar maquinaria o trabajo de campo, añada un margen operativo y consulte fuentes locales autorizadas, ya que el relieve y la atmósfera pueden alterar la luz visible con independencia del umbral geométrico calculado.
Qué puede hacer con ella
Planificar una sesión fotográfica exterior
Estime el intervalo UTC alrededor del amanecer y el anochecer antes de convertirlo a la zona horaria civil del lugar.
Programar la iluminación automática
Genere estimaciones diarias reproducibles para el encendido y apagado a partir de fechas y coordenadas guardadas, sin recurrir a servicios meteorológicos ni de geocodificación.
Anotar datos ambientales
Clasifique observaciones respecto a los límites aproximados del crepúsculo civil mediante un cálculo determinista apto para procesos repetibles.
Preguntas frecuentes
¿Qué significa crepúsculo civil?
Es el periodo en que el centro del Sol está entre el horizonte y 6 grados por debajo de él. Esta calculadora estima los cruces exteriores de ese límite de 6 grados.
¿Las horas devueltas son locales?
No. Son marcas de tiempo UTC en formato ISO 8601 terminadas en Z. Conviértalas por separado si necesita una zona horaria local con nombre.
¿Qué precisión tienen los resultados?
Son aproximaciones de planificación redondeadas al minuto más cercano. No se modelan la elevación, el relieve, la refracción, el tiempo atmosférico ni efectos astronómicos de orden superior.
¿Por qué faltan las horas en algunos lugares polares?
En ciertas fechas el Sol nunca cruza los 6 grados bajo el horizonte. La respuesta informa de esa condición y omite las marcas de tiempo de eventos inexistentes.
¿Utiliza el reloj de mi dispositivo o un servicio en directo?
No. Solo utiliza la fecha, la latitud y la longitud indicadas, por lo que entradas idénticas producen resultados idénticos.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
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)Ejemplo de solicitud
{
"date": "2026-06-21",
"lat": 40.7128,
"lon": -74.006
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.civil_twilight_approx",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Interprete los resultados normales y polares
Para la mayoría de las fechas y latitudes habitadas, status es ok y la respuesta incluye civil_twilight_begin_utc y civil_twilight_end_utc como marcas de tiempo ISO 8601 terminadas en Z. En ese caso, la respuesta omite deliberadamente ambas marcas de tiempo de los eventos, informa no_civil_twilight_crossing e indica si el Sol permanece todo el día por encima o por debajo del umbral del crepúsculo civil. Esto es más exacto que inventar valores de medianoche o devolver campos null que un proceso posterior podría confundir con eventos.
Preguntas técnicas
¿Cuánto cuesta una solicitud de API?
El precio base es de $0.002 por solicitud. La misma lógica determinista también puede ejecutarse en la experiencia del navegador.