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) |
Consigli per l'uso
- 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.
Domande frequenti
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.