Convertitore da durata ISO 8601 a secondi
Converta una durata ISO 8601 come P3DT4H30M in un unico totale di secondi. Il convertitore legge anni, mesi, settimane, giorni, ore, minuti e secondi e applica durate nominali esplicite: ogni anno vale 365 giorni e ogni mese 30 giorni.
Esegui gratis nel browser
Poiché usa soltanto il testo inserito e non consulta calendario, fuso orario, data corrente o ora legale, lo stesso input produce sempre lo stesso risultato.
Leggere la struttura ISO 8601
Una durata ISO 8601 inizia con P, seguita dalle unità di data e, se necessarie, dal separatore T prima delle unità temporali. P2W indica due settimane, P3DT6H tre giorni e sei ore, mentre PT15M quindici minuti. La lettera M cambia significato: prima di T rappresenta i mesi, dopo T i minuti. Il convertitore riconosce anni, mesi, settimane, giorni, ore, minuti e secondi nell’ordine standard. Accetta anche una frazione decimale sull’unità più piccola presente, con punto o virgola. Inserisca la durata completa senza testo aggiuntivo. La risposta ripete l’input normalizzato, elenca i componenti e restituisce total_seconds. Durate vuote, indicatori fuori ordine, valori negativi, P o PT isolati e testo estraneo vengono respinti. La convalida rigorosa consente a Lei di individuare dati malformati al confine dell’integrazione, anziché trasformarli silenziosamente in un numero fuorviante.
Comprendere anni e mesi nominali
Una durata composta soltanto da giorni, ore, minuti o secondi ha una lunghezza fissa. Anni e mesi di calendario variano: un mese reale può avere 28, 29, 30 o 31 giorni e un anno 365 o 366. Una durata isolata non include la data iniziale necessaria a risolvere la differenza. Lo strumento usa quindi costanti nominali mostrate in ogni risposta: 365 giorni per anno e 30 giorni per mese. Una settimana contiene sempre sette giorni, un giorno 86,400 secondi, un’ora 3,600 secondi e un minuto 60 secondi. Il calcolo somma i componenti ponderati; un mese aggiunge sempre 2,592,000 secondi. Queste ipotesi non descrivono uno specifico intervallo di calendario. Se Lei deve misurare i secondi trascorsi tra due istanti reali, utilizzi una differenza tra data e ora con estremi espliciti.
Usare in sicurezza totali deterministici
Il totale restituito è un numero JSON intero di secondi. Le frazioni ISO sono ammesse solo sull’unità più piccola scritta e quando il calcolo produce un secondo intero. PT0.5M diventa quindi 30 secondi, mentre un valore che richiede una frazione di secondo viene rifiutato. Sono esclusi anche i totali oltre l’intervallo degli interi sicuri di JavaScript, evitando una precisione apparente. L’output è adatto a database, controllo dei ritardi, configurazione dei timeout, simulazioni e test ripetibili, purché i sistemi condividano le ipotesi nominali. Conservi l’oggetto delle ipotesi se altri potrebbero interpretare i mesi in modo dipendente dal calendario. L’API costa $0.002 per richiesta; la conversione pura funziona anche nel browser. Nessuna rete, ora corrente, casualità o oggetto Date influisce sul risultato: input identici mantengono componenti e totale identici.
Casi d'uso
Normalizzare durate API
Converta i campi ISO 8601 ricevuti in un intero prima di convalidarli, confrontarli o archiviarli.
Creare test ripetibili
Generi totali attesi stabili senza dipendere da data iniziale, fuso orario o calendario corrente.
Controllare le configurazioni
Verifichi conservazione, ritardi e timeout in notazione ISO insieme alle ipotesi nominali.
Domande frequenti
Quanto dura un anno in questo convertitore?
Ogni anno equivale esattamente a 365 giorni, ossia 31,536,000 secondi.
Quanto dura un mese?
Ogni mese equivale nominalmente a 30 giorni, ossia 2,592,000 secondi; non viene usata una data iniziale.
M significa mesi o minuti?
M prima del separatore T significa mesi; dopo T significa minuti.
Sono accettate durate decimali?
Sì, sull’unità più piccola presente, se il risultato è un intero sicuro di secondi. Sono ammessi punto e virgola.
Quanto costa l’API?
Ogni richiesta API costa $0.002. La conversione interattiva funziona anche localmente nel browser.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/date/iso-duration-to-seconds \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"duration":"P1Y2M3DT4H5M6S"}'const res = await fetch("https://api.kit.forhosting.com/date/iso-duration-to-seconds", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"duration": "P1Y2M3DT4H5M6S"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/iso-duration-to-seconds",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"duration": "P1Y2M3DT4H5M6S"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/iso-duration-to-seconds", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"duration":"P1Y2M3DT4H5M6S"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"duration":"P1Y2M3DT4H5M6S"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/iso-duration-to-seconds", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"duration": "P1Y2M3DT4H5M6S"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.iso_duration_to_seconds",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_chars | 200 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |