ForHosting KIT · Fechas y tiempo

Sumar dos duraciones ISO 8601

Escriba dos duraciones ISO 8601 y obtenga su suma como una sola duración limpia: P1W más P3D da P10D, porque cada semana pasa a siete días. Segundos, minutos, horas y meses se acarrean, y las unidades a cero desaparecen. Gratis en su navegador.

  • Gratis
  • Funciona en su navegador
  • Sin registro
  • Sus datos no salen de su equipo
Úselo desde WebAPIEmailTelegramApp pronto
Si escribe
Duración 1
P1Y2M3DT4H5M6S
Duración 2
P2Y1M10DT1H55M54S
Obtiene
Sum
P3Y3M13DT6H1M
Años
3
Meses
3
Días
13

Las cadenas de duración ISO 8601 como P1Y2M3DT4H5M6S aparecen en APIs, calendarios, acuerdos de nivel de servicio y archivos de configuración cuando hay que expresar un intervalo sin anclarlo a una fecha de calendario. Sumar dos de esas cadenas a mano es propenso a errores: las semanas deben convertirse en días, los segundos deben arrastrarse a minutos y los meses a años, sin inventar una conversión de días a meses que dependa de una fecha de inicio. Esta calculadora para sumar dos duraciones ISO 8601 acepta dos cadenas no negativas, analiza cada designador en orden fijo, expande las semanas en bloques de siete días, suma cada componente y devuelve una duración normalizada junto con los campos de año, mes, día, hora, minuto y segundo.

Qué significa sumar duraciones ISO 8601

Una duración ISO 8601 describe una longitud de tiempo con los designadores Y para años, M para meses, W para semanas, D para días y, tras un marcador T, H para horas, M para minutos y S para segundos. Valores típicos son P1Y para un año, P2M15D para dos meses y quince días, PT1H30M para noventa minutos escritos como una hora y treinta minutos, y la forma completa P1Y2M3DT4H5M6S.

Sumar dos duraciones es un problema componente a componente: los años se suman a los años, los meses a los meses, y así sucesivamente. Las semanas se expanden a días con el factor fijo siete, de modo que P1W más P3D da P10D en lugar de una cadena mixta de semanas y días. Tras la suma, el motor normaliza por arrastre los campos de tiempo y mes con reglas enteras deterministas: sesenta segundos son un minuto, sesenta minutos una hora, veinticuatro horas un día y doce meses un año.

Los días nunca se convierten en meses porque la longitud del mes depende de una fecha de inicio de calendario que esta herramienta no toma a propósito. El resultado es una cadena canónica que omite designadores a cero, usa P0D cuando todos los componentes son cero y nunca emite una T suelta sin campos de tiempo. Ese contrato coincide con lo que esperan las bibliotecas de validación y los formularios de esquema al comprobar PnYnMnDTnHnMnS sin reanalizar texto libre.

Dónde combinar dos duraciones ISO aporta valor

Los equipos de producto y plataforma combinan periodos de arrendamiento, extensiones de prueba y ventanas de mantenimiento ya guardados como duraciones ISO en sistemas de configuración o facturación; sumar P1Y a P3M debe dar P1Y3M sin aproximaciones de días en coma flotante. Educadores y autores de documentación demuestran la aritmética de duraciones junto a tablas RFC e ISO sin números de serie de hojas de cálculo que incluyen en silencio la hora del día.

Los scripts de operaciones fusionan ventanas de retención de copias o retrocesos de reintento expresados como cadenas PnD y PTnH de dos fuentes y escriben un único valor normalizado en un registro. Mantenga ambas cadenas pequeñas, fije sum y los campos de componentes en las pruebas, y obtendrá sumas de duración reproducibles para deberes, plugins LMS, workers en el borde y páginas del catálogo que posicionan por sumar dos duraciones ISO 8601 sin montar una biblioteca de calendario completa.

Facturación y extensiones de prueba

Sume la duración base de una suscripción a una ventana de extensión (por ejemplo P1Y más P1M) y guarde la suma normalizada en la configuración o en las facturas.

Fusionar ventanas de retención y SLA

Combine dos duraciones de política de sistemas distintos en una cadena canónica PnYnMnDTnHnMnS para registros y runbooks.

¿Se admiten las semanas?

Sí. El designador W se acepta en la entrada y se convierte a siete días antes de sumar, de modo que P1W más P3D da P10D en la suma normalizada.

¿Por qué los días no se convierten en meses?

La longitud del mes depende de una fecha de inicio de calendario. Esta herramienta suma duraciones puras sin fecha de referencia, así que los días permanecen como días mientras los meses siguen arrastrándose a años de doce en doce.

¿Cómo se suman dos duraciones ISO 8601?

Cada unidad se suma con la misma unidad y después se acarrea lo que sobra. Por ejemplo, P1Y2M3DT4H5M6S más P2Y1M10DT1H55M54S da P3Y3M13DT6H1M: los minutos y segundos que llegan a 60 suben a la unidad siguiente.

¿Puedo usar valores negativos o decimales?

No. Cada duración debe ser no negativa, con números enteros y las letras en el orden estándar. Los signos más o menos, las fracciones, una P sola y las letras desordenadas se rechazan en lugar de adivinarse.

¿Qué unidades se acarrean después de sumar?

Sesenta segundos pasan a un minuto, sesenta minutos a una hora, veinticuatro horas a un día y doce meses a un año. Así, sumar 5 y 55 minutos añade una hora más a las horas.

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.

POSThttps://api.kit.forhosting.com/date/iso-duration-add

¿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.

curl -X POST https://api.kit.forhosting.com/date/iso-duration-add \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"duration1":"P1Y2M3DT4H5M6S","duration2":"P2Y1M10DT1H55M54S"}'
{
  "duration1": "P1Y2M3DT4H5M6S",
  "duration2": "P2Y1M10DT1H55M54S"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "date.iso_duration_add",
  "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.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Contrato de entrada, forma de la respuesta y errores

Cada valor debe ser una duración ISO 8601 no negativa que cumpla la gramática ordenada de designadores PnYnMnWnDTnHnMnS solo con componentes enteros. En caso de éxito el cuerpo devuelve ambas entradas como duraciones canónicas con las semanas ya expandidas a días, la cadena sum tras la normalización completa por arrastre, los seis campos enteros no negativos years, months, days, hours, minutes y seconds, y un breve recordatorio de la fórmula del algoritmo. Las peticiones rechazadas no se facturan. Envíe un cuerpo JSON con dos campos de cadena obligatorios: duration1 y duration2. Se rechazan signos más o menos iniciales para que la suma sea siempre una longitud no negativa; cadenas vacías, una P sola, designadores fuera de orden, partes fraccionarias y texto que no sea duración fallan con invalid_input indicando el campo. Los alias a, first, left y d1 se asignan a duration1; b, second, right y d2 a duration2, de modo que hojas de cálculo y formularios pueden reutilizar nombres de columna cortos. Ejemplo: duration1 igual a P1Y2M3DT4H5M6S y duration2 igual a P2Y1M10DT1H55M54S dan sum P3Y3M13DT6H1M porque cinco minutos más cincuenta y cinco minutos arrastran una hora, y seis segundos más cincuenta y cuatro quedan por debajo de sesenta. Combine la ejecución gratuita del navegador en esta página con la API de pago cuando necesite la misma suma dentro de un pipeline automatizado sin reimplementar parsers de duración en cada servicio.

Dónde combinar dos duraciones ISO aporta valor

Como la implementación es parse pura de nivel A, cada llamada correcta cuesta el precio base publicado $0.002 sin tokens de modelo ni red saliente, y la validación fallida no consume saldo.

Fixtures de CI para planificadores

Compruebe que PT90M más PT30M se normaliza a PT2H en pruebas unitarias sin depender de Date, de locales ni del reloj del anfitrión.

¿Cómo sumo dos cadenas de duración ISO 8601?

Envíe duration1 y duration2 como cadenas PnYnMnWnDTnHnMnS no negativas. La API expande semanas a días, suma cada componente, normaliza por arrastre y devuelve sum más years, months, days, hours, minutes y seconds.

¿Qué entradas se rechazan?

Campos ausentes, cadenas vacías, P sola, signos iniciales, componentes fraccionarios, designadores fuera de orden y texto que no es duración fallan con invalid_input y no se facturan.

¿Cuánto cuesta el sumador de duraciones ISO?

La herramienta del navegador es gratuita. Las peticiones API usan el saldo prepago de KIT a $0.002 por llamada correcta; la entrada inválida no se factura.

Ver la documentación completa del KIT →