Conversione delle durate ISO 8601

Converte in entrambi i sensi fra la notazione delle durate della norma ISO 8601, per esempio PT1H30M, e il numero di secondi. Uno strumento gratuito per sviluppatori che permette di leggere e generare rapidamente questo formato, usato per la lunghezza dei filmati nell'interfaccia di YouTube, per i limiti di tempo di AWS e nei flussi RSS dei podcast.

Esempi tipici di durata ISO 8601

La notazione delle durate della norma ISO 8601 fa seguire alla lettera «P» anni, mesi e giorni e, dopo la «T», ore, minuti e secondi. La tabella riporta le notazioni più comuni con i secondi corrispondenti.

Notazione della durata Secondi complessivi Note
PT30S 30 Esempio tipico di indicazione breve, come un limite di trenta secondi
PT1H30M 5,400 Un'ora e trenta minuti: formato molto usato per la durata di un film o di un filmato su YouTube
P1D 86,400 Un giorno, cioè ventiquattro ore: si usa per il periodo di conservazione dei registri di un servente e per la scadenza delle cache
P3Y6M4DT12H30M5S 110,842,205 Esempio di notazione composita corrispondente a tre anni, sei mesi, quattro giorni, dodici ore, trenta minuti e cinque secondi (anni e mesi convertiti con l'approssimazione di 365,25 giorni per anno)

Che cos'è la notazione delle durate ISO 8601

La notazione delle durate ISO 8601 è uno standard internazionale che esprime la «lunghezza» fra due istanti in un'unica stringa, come «P3Y6M4DT12H30M5S». Mentre una data-ora indica un istante preciso, cioè «quando», una durata esprime una differenza, cioè «quanto», e per questo esiste una notazione dedicata che comincia con «P», distinta dai formati delle marche temporali.

Chi sviluppa software incontra spesso questa notazione: l'interfaccia dati di YouTube indica così la durata dei filmati, le interfacce di AWS e Google Cloud la usano per i limiti di tempo e le scadenze, e i flussi RSS dei podcast la impiegano per la durata degli episodi. Questo strumento converte all'istante fra stringhe di durata e secondi complessivi, così potete verificare esattamente quanto tempo rappresenta un valore.

Come convertire durate ISO 8601 e secondi

  1. Incollate una stringa di durata per convertirla in secondi Inserite una stringa di durata ISO 8601 come «PT1H30M» nel campo superiore: compaiono automaticamente il totale in secondi e il dettaglio per unità.
  2. Provate il valore di esempio Fate clic su «Inserisci un esempio» per caricare un caso che combina anni, mesi, giorni, ore, minuti e secondi, e vedere subito la conversione all'opera.
  3. Inserite i secondi per convertirli in una stringa di durata Digitate nel campo inferiore il numero complessivo di secondi da convertire: viene generata la stringa di durata ISO 8601 corrispondente.
  4. Scegliete una modalità di conversione Selezionate «anni/mesi/giorni» per una notazione compatta e leggibile, oppure «solo giorni/ore/minuti/secondi» per un risultato esatto senza approssimazioni di calendario.
  5. Copiate il risultato Copiate il totale di secondi, minuti, ore o giorni mostrato, oppure la stringa di durata generata, direttamente nella richiesta API o nel file di configurazione.

Consigli per sfruttarlo al meglio

  • Poiché il numero di giorni di anni e mesi varia secondo il calendario, lo strumento converte in secondi usando valori fissi approssimati: 365,25 giorni per un anno e 30,44 per un mese.
  • Generando la stringa a partire dai secondi, la modalità con soli giorni, ore, minuti e secondi non ricorre ad alcuna approssimazione di anni e mesi e restituisce una notazione esatta, immune dagli scarti dovuti agli anni bisestili.
  • La durata dei filmati restituita dall'interfaccia dati di YouTube, nel campo contentDetails.duration, è in formato ISO 8601: potete incollarla qui e convertirla in secondi.
  • Alcuni servizi in rete, come AWS Lambda e API Gateway, usano la notazione ISO 8601 per i limiti di tempo: lo strumento torna comodo per verificare i valori configurati.
  • Nei flussi RSS dei podcast, oltre al formato con ore, minuti e secondi separati dai due punti, per la durata dell'audio si usa talvolta proprio la notazione ISO 8601.

Quando torna utile convertire le durate ISO 8601

Analizzare le risposte dell'interfaccia dati di YouTube

Incollate un valore come «PT4M13S» proveniente da contentDetails.duration per vedere subito quanti minuti e secondi dura un filmato.

Individuare errori nelle configurazioni di AWS e dei servizi in rete

Verificate a quanti secondi od ore corrisponde davvero una notazione di durata in un limite di tempo di Step Functions o CloudFormation.

Controllare la durata degli episodi nei flussi RSS dei podcast

Quando l'elemento itunes:duration usa il formato ISO 8601, confrontatelo con la più comune notazione ore:minuti:secondi per confermare la durata.

Integrazione con interfacce di calendario e pianificazione

Partite da un numero di secondi per costruire l'intervallo di ricorrenza o la durata del promemoria richiesti da interfacce come Google Calendar.

Creare casi di prova per un analizzatore personalizzato

Se sviluppate un vostro analizzatore di durate, usate questo strumento per verificare il numero corretto di secondi di stringhe note e impiegarlo come valore atteso nei test.

Glossario della durata ISO 8601

ISO 8601
Uno standard internazionale che definisce come rappresentare date, orari e durate. Oltre alla notazione delle date come «2026-09-16», definisce anche la notazione delle durate trattata da questo strumento.
Durata
Un valore che rappresenta la lunghezza di tempo fra due istanti. A differenza di una data-ora, che indica un istante preciso, una durata porta l'informazione di quanto tempo trascorre.
Notazione PnYnMnDTnHnMnS
Il formato di base delle stringhe di durata ISO 8601: anni (Y), mesi (M) e giorni (D) dopo la «P», seguiti da ore (H), minuti (M) e secondi (S) dopo la «T», includendo solo le unità necessarie.
Marca temporale
Un valore che rappresenta un istante preciso. A differenza di una durata, che è una differenza, una marca temporale esprime una posizione assoluta: «quando» è avvenuto qualcosa.
RFC 3339
Una specifica, basata sulla norma ISO 8601, per esprimere date e orari su internet. Definisce la notazione delle marche temporali ma non quella delle durate, che resta propria della sola ISO 8601.
Notazione con le settimane (PnW)
Un'abbreviazione come «P2W» che esprime una durata soltanto in settimane. Secondo la norma ISO 8601, questa forma autonoma non si può combinare con le componenti di anno, mese, giorno o con la parte oraria.

Domande frequenti

PT1H30M rappresenta un'ora e trenta minuti nella notazione delle durate ISO 8601. La «P» segnala l'inizio del periodo, la «T» l'inizio della parte oraria, cioè ore, minuti e secondi: attenzione perché senza la «T» la sigla «1M» significa un mese, mentre dopo la «T» significa un minuto.

Fra i casi più noti ci sono la durata dei filmati nell'interfaccia dati di YouTube, nel campo contentDetails.duration, i limiti di tempo e le scadenze di vari servizi in rete come AWS e Google Cloud e i flussi RSS dei podcast, con l'elemento itunes:duration. Fra i linguaggi di programmazione, le classi Duration e Period di Java e la libreria isodate di Python sanno leggere e generare durate ISO 8601.

Un anno dura 365 o 366 giorni secondo che sia comune o bisestile e un mese va da 28 a 31 giorni: un valore fisso di secondi per un anno, a rigore, non esiste. Come riferimento pratico lo strumento adotta 365,25 giorni per un anno, media che tiene conto degli anni bisestili, e un dodicesimo di quel valore, circa 30,44 giorni, per un mese. Se vi occorre una durata esatta, usate la modalità che esprime tutto in giorni, ore, minuti e secondi, senza anni né mesi.

Sì, è prevista anche la forma con la lettera W, per esempio «P2W» per due settimane. Va però ricordato che nella norma ISO 8601 quella notazione è un'abbreviazione autonoma e non si può combinare con anni, mesi, giorni o con la parte oraria.

Se il testo non comincia con «P», se le unità non seguono l'ordine anni, mesi, giorni e poi ore, minuti, secondi, oppure se la durata è vuota perché tutte le unità sono omesse, lo strumento la considera non convertibile e mostra un messaggio d'errore.
Tool-kun

A proposito — perché nel mondo dell'informatica esiste un formato apposito per le durate

La norma ISO 8601 è nota soprattutto come lo standard che uniforma a livello internazionale il modo di scrivere date e orari, ma al suo interno definisce anche una notazione per le durate, cioè per la lunghezza dell'intervallo fra due istanti. Mentre una data indica un punto preciso — il «quando» — una durata è un'informazione differenziale: il «quanto». Le due cose si somigliano, ma la natura dell'informazione trattata è del tutto diversa, e proprio per distinguerle si è predisposta una notazione apposita, che comincia con la lettera «P».

Uno dei motivi per cui la notazione delle durate è tanto apprezzata nella pratica è che previene gli errori d'interpretazione delle unità quando i dati passano da un programma all'altro. Se la risposta di un'interfaccia contiene soltanto il numero 30, chi la riceve non può sapere se si tratti di secondi o di minuti senza consultare la documentazione. Con «PT30S», invece, valore e unità sono racchiusi nella stessa stringa e, purché l'analisi sintattica sia corretta, non c'è modo di fraintendere.

È per la stessa ragione che l'interfaccia dati di YouTube restituisce la durata dei filmati in formato ISO 8601: la stringa «PT4M13S» individua senza ambiguità un filmato di quattro minuti e tredici secondi. Anche le interfacce di AWS e Google Cloud adottano talvolta questo formato per limiti di tempo e scadenze: quando lo incontrate in un file di configurazione YAML o in una risposta JSON, convertirlo qui in secondi aiuta a farsi un'idea concreta della lunghezza.

La norma presenta però una proprietà curiosa: le durate che comprendono anni e mesi non hanno una lunghezza assoluta. La stessa notazione «P1Y» può corrispondere a 365 o a 366 giorni a seconda che si attraversi o meno un anno bisestile. Anche il fatto che questo strumento debba ricorrere a valori approssimati nelle conversioni con anni e mesi discende, in fondo, da quest'ambiguità della specifica.