Segundos intercalares UTC↔TAI
Averigüe la diferencia entre el tiempo atómico y UTC en cualquier fecha, o vea la lista de segundos intercalares que la explican: el 2 de enero de 2017, TAI−UTC es de 37 segundos. La tabla viene integrada. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Modo de cálculo
- Offset
- Fecha
- 2017-01-02
- Diferencia TAI−UTC (segundos)
- 37
Herramienta gratuita y determinista. Lista los segundos intercalares del IERS incrustados en la propia capacidad y convierte fechas civiles UTC en el desfase TAI-UTC, sin ningún acceso a la red.
Cómo funciona
Esta capacidad enumera los segundos intercalares publicados por el IERS y convierte una fecha civil UTC en su desfase respecto al TAI, sin realizar ninguna llamada a la red. En el modo «list» obtiene usted la tabla completa de los saltos históricos; en el modo «offset» facilita una fecha en formato ISO-8601 y el cálculo devuelve la diferencia exacta entre el Tiempo Atómico Internacional y el Tiempo Universal Coordinado en ese instante preciso.
Antes de integrar esta función en sus flujos de producción o en sus pruebas automatizadas, revise los ejemplos de referencia, que ilustran tanto los casos correctos como las rutas de error.
Entradas y salidas
Los campos obligatorios del esquema deben estar presentes y correctamente tipados, mientras que los campos opcionales recurren a valores por defecto documentados. Las respuestas de éxito incluyen siempre los campos de salida principales, de manera que sus enlaces de interfaz permanecen estables en el tiempo y nunca tienen que gestionar una ausencia imprevista. La validación sigue un orden fijo y reproducible, así que la misma entrada produce siempre la misma salida y la misma cadena de error, condición imprescindible para la certificación.
Le recomendamos leer los ejemplos de referencia, que cubren tanto las rutas de éxito como las de error, antes de conectar esta capacidad a sus procesos.
Casos límite y restricciones
Las cadenas vacías, los tipos incorrectos y los rangos contradictorios se rechazan muy pronto, antes incluso de que se realice cálculo alguno. Las fechas civiles sin zona horaria se tratan como fechas de calendario y no sufren ninguna conversión implícita que pudiera falsear el desfase devuelto. Las tablas de segundos intercalares viajan incrustadas dentro de la carpeta de la capacidad; por consiguiente, no se efectúa ninguna petición de red en tiempo de ejecución y el resultado sigue siendo reproducible aun estando completamente sin conexión.
Este comportamiento hace que la función resulte idónea para entornos aislados, para cadenas de integración continua y para contextos donde la conectividad no está garantizada.
Qué puede hacer con ella
Trabajo diario
Obtenga una respuesta fiable sin recurrir a una hoja de cálculo.
Docencia
Juegos de prueba estables y reproducibles para sus demostraciones.
Preguntas frecuentes
¿Usa red?
Sin acceso a la red; todo se calcula en el dispositivo.
¿Es estable?
Los juegos de referencia deterministas fijan el contrato.
¿Qué significa TAI−UTC?
Es la cantidad de segundos que el Tiempo Atómico Internacional va por delante del Tiempo Universal Coordinado en una fecha dada. Solo cambia cuando se añade un segundo intercalar a UTC, por eso se lee de la tabla de segundos intercalares.
¿Puedo ver la lista de segundos intercalares?
Sí. Elija la opción de lista para ver los segundos intercalares de la tabla integrada, si quiere limitados a un intervalo entre dos fechas. Un intervalo cuyo final es anterior a su inicio se rechaza en vez de adivinarse.
¿Tengo que indicar una hora o una zona horaria?
No. Escriba solo la fecha del calendario. Una fecha sin zona horaria se lee como un simple día en UTC, así que el lugar donde esté nunca cambia la diferencia que obtiene.
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/leap-seconds \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"mode":"offset","date":"2017-01-02"}'const res = await fetch("https://api.kit.forhosting.com/date/leap-seconds", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"mode": "offset",
"date": "2017-01-02"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/leap-seconds",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"mode": "offset",
"date": "2017-01-02"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/leap-seconds", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"mode":"offset","date":"2017-01-02"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"mode":"offset","date":"2017-01-02"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/leap-seconds", 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
{
"mode": "offset",
"date": "2017-01-02"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.leap_seconds",
"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
Cómo funciona
El cálculo es enteramente determinista y se ejecuta gratis en su navegador con la misma función pura que emplea la API, de modo que el resultado mostrado en línea coincide, byte a byte, con el que factura el servicio. Las entradas se validan antes de cualquier operación aritmética, así que un tipo erróneo produce un error invalid_input claro en lugar de un valor engañoso.
Entradas y salidas
Los valores intermedios muy grandes que rebasan la representación IEEE-754 se convierten en errores de rango explícitos, en vez de valores nulos silenciosos, porque un error declarado siempre vale más que un dato corrupto que pasa inadvertido.
Casos límite y restricciones
Recuerde examinar los ejemplos de referencia antes de la integración: muestran con precisión qué entradas devuelven un resultado válido y cuáles generan, por el contrario, un error invalid_input, de modo que le ahorran cualquier sorpresa en producción.
Casos de integración
Automatización
La misma función pura en el widget y en la API.
Preguntas técnicas
¿Es gratis?
Sí, nivel A directamente en el navegador.
¿Entrada inválida?
Un error invalid_input con una correspondencia clara.
¿Autor?
samurai.