Diferencia en décadas entre fechas
La calculadora de diferencia en décadas mide cuántos períodos completos de diez años separan dos fechas ISO explícitas.
Ejecutar — gratis
Introduzca una fecha inicial y otra final en formato YYYY-MM-DD; obtendrá un entero positivo si la segunda es posterior, negativo si es anterior y cero si no han transcurrido diez años completos. El cálculo aplica reglas fijas del calendario gregoriano en UTC, sin permitir que la hora actual, la zona horaria del navegador ni un servicio externo alteren el resultado.
Qué significa una década completa en esta calculadora
Una década completa es un intervalo de diez años de calendario cumplido desde la primera fecha, no una mera comparación de las etiquetas de década impresas en un calendario. Del 15 de junio de 2000 al 14 de junio de 2020 solo se ha completado una década, porque falta un día para el segundo aniversario de diez años. El 15 de junio de 2020, el resultado pasa a ser dos. Esta distinción evita redondear hacia arriba fechas próximas a un aniversario solo porque sus años difieren en veinte. También implica que dos fechas pueden pertenecer a décadas nominales distintas y aun así producir cero. El resultado es deliberadamente entero y descarta el resto incompleto posterior al último aniversario de diez años. Esto resulta útil cuando una política, un archivo, un contrato o un informe habla de décadas cumplidas y no de tiempo aproximado. Ambas entradas deben ser fechas ISO explícitas con formato YYYY-MM-DD, de modo que la interpretación sea visible y reproducible.
Signo, reglas UTC y días bisiestos
El signo sigue el orden en que usted proporciona las fechas. Si la segunda es posterior a la primera, el conteo es positivo. Si es anterior, la misma cantidad de décadas completas se devuelve como entero negativo. Las fechas iguales producen cero. Por tanto, invertir el par invierte el signo sin cambiar la magnitud, algo práctico para ordenar, comparar y efectuar cálculos direccionales. La validación y la aritmética usan las reglas del calendario gregoriano proléptico y no recurren al objeto Date de JavaScript. No intervienen conversiones de zona horaria local, cambios de horario de verano, el reloj actual, consultas de red ni analizadores dependientes de la configuración regional. Si la fecha inicial es el 29 de febrero, su aniversario se considera el 28 de febrero cuando el año de destino no es bisiesto. Este ajuste explícito ofrece una respuesta estable en esos límites y conserva la lógica habitual de las duraciones de calendario. Se admiten años entre 0001 y 9999.
Cómo utilizar el resultado de forma segura
Envíe la fecha ISO inicial en el campo from y la fecha ISO final en el campo to. La respuesta repite ambas entradas validadas, entrega el número de décadas con signo e indica la dirección como hacia delante, hacia atrás o cero. Use el entero directamente cuando necesite períodos de diez años cumplidos, por ejemplo, para agrupar programas de larga duración, verificar si ya se alcanzó un aniversario o describir la separación entre registros históricos. No lo interprete como una estimación decimal de años: un resultado de tres afirma que han transcurrido tres décadas de calendario completas, no que las fechas estén separadas exactamente por treinta años sin meses ni días restantes. Esta capacidad tampoco deduce fechas a partir de expresiones naturales, formatos regionales, marcas de tiempo ni el momento presente. Esas exclusiones son deliberadas: las entradas explícitas permiten que las llamadas repetidas a la API sean deterministas. Una solicitud mediante la API cuesta $0.002, mientras que la versión del navegador ejecuta el mismo cálculo puro y ofrece un resultado equivalente.
Qué puede hacer con ella
Comprobar un aniversario de largo plazo
Determine si un proyecto, una institución, un acuerdo o una colección ya ha cumplido una cantidad concreta de aniversarios de diez años.
Comparar registros históricos
Obtenga una diferencia estable en décadas entre dos fechas de archivo sin depender de la zona horaria del equipo ni del reloj actual.
Crear reglas de informes deterministas
Clasifique registros por décadas de calendario completas con el mismo comportamiento de límites en el navegador y en flujos de API.
Preguntas frecuentes
¿Qué significa el signo?
Un número positivo significa que 'to' es posterior a 'from'; uno negativo indica que es anterior; cero significa que no las separa una década completa.
¿La calculadora redondea las décadas parciales?
No. Solo cuenta aniversarios completos de diez años de calendario y descarta cualquier resto incompleto.
¿Qué formato de fecha se admite?
Ambos valores deben ser fechas ISO explícitas en formato YYYY-MM-DD, con años entre 0001 y 9999.
¿Cómo se trata el 29 de febrero?
Si un aniversario de diez años cae en un año no bisiesto, el 29 de febrero se ajusta al 28 de febrero para realizar la comparación.
¿Influyen la zona horaria o el horario de verano?
No. El cálculo usa aritmética determinista de fechas del calendario gregoriano en UTC y nunca consulta la zona horaria local.
¿Cuánto cuesta una solicitud por API?
Cada solicitud por API cuesta $0.002. El cálculo también puede ejecutarse gratis en el navegador.
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/diff-in-decades \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"from":"1985-07-25","to":"2026-07-25"}'const res = await fetch("https://api.kit.forhosting.com/date/diff-in-decades", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"from": "1985-07-25",
"to": "2026-07-25"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/diff-in-decades",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"from": "1985-07-25",
"to": "2026-07-25"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/diff-in-decades", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"from":"1985-07-25","to":"2026-07-25"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"from":"1985-07-25","to":"2026-07-25"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/diff-in-decades", 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
{
"from": "1985-07-25",
"to": "2026-07-25"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.diff_in_decades",
"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. |