Tempo/Numeri

Analizzatore di durata ISO 8601

Analizza una stringa come "P3Y6M4DT12H30M5S" in un formato leggibile, oppure componi una stringa del genere da anni/mesi/giorni/ore/minuti/secondi.


                        

An ISO 8601 duration (e.g. P3Y6M4DT12H30M5S) is a compact, unambiguous way to write a time span, used by many APIs and data formats, but hard to read without parsing it. This tool translates such a string into plain language and lets you build one from separate fields.

How to use it

Common uses

Things to keep in mind

The leading P stands for "period" and is required, just like the T that separates days from hours in the time part.

The base standard doesn't define a sign for durations — negative durations (to mean "ago") are only supported by specific implementations as an unofficial extension.

Articolo su questo strumento: ISO 8601 Duration: come scrivere una durata in formato standard

Domande frequenti

Cosa significa una stringa come P3Y6M4DT12H30M5S?

Questo è il formato di durata standard ISO 8601: P significa "period" (periodo), seguito da anni/mesi/giorni fino alla lettera T, dopo la quale vengono ore/minuti/secondi. In questo esempio sono 3 anni, 6 mesi, 4 giorni, 12 ore, 30 minuti e 5 secondi.

In cosa differisce una durata ISO da una semplice durata in ore?

A differenza delle unità fisse (come nel calcolatore di durata), i componenti "anni" e "mesi" qui sono basati sul calendario e non hanno un numero fisso di secondi — la loro lunghezza esatta dipende dalle date specifiche a cui vengono applicati.

Il formato settimanale P4W è supportato?

Sì, ma solo quando si analizza una stringa esistente. Quando costruisci la tua stringa, le settimane devono essere espresse in giorni, poiché ISO 8601 non permette di combinare settimane con altri componenti in un'unica stringa.

Posso indicare secondi o minuti frazionari?

Sì, lo standard consente una parte frazionaria solo nell'ultimo componente della stringa — ad esempio PT1.5S (1,5 secondi) o PT1H30.5M (1 ora 30,5 minuti) sono validi, ma una parte frazionaria in un componente diverso dall'ultimo no.

Esistono durate ISO negative?

Lo standard ISO 8601 di base non definisce un segno per le durate, ma alcune implementazioni (incluso questo strumento) supportano un segno meno iniziale per indicare "fa" o una durata invertita — un'estensione comune, anche se non ufficiale.

Articoli: Tempo/Numeri

Tempo Unix: perché i computer contano il tempo dal 1970

Perché il 1° gennaio 1970 è diventato il punto di riferimento del tempo per la maggior parte dei sistemi informatici.

Espressioni cron: come decifrare una pianificazione di attività

Come decifrare un'espressione come */15 * * * * e sapere esattamente quando verrà eseguita l'attività.

Sistemi numerici: a cosa servono binario, ottale ed esadecimale

Perché il colore #FF5733 in CSS è scritto con cifre esadecimali anziché decimali.

Operazioni bit a bit: come funzionano AND, OR e XOR a livello di bit

In cosa l'AND bit a bit differisce da quello logico, e perché operare sui singoli bit di un numero.

Differenza tra date: perché contare i giorni è più complicato di quanto sembri

Perché sottrarre date in modo ingenuo può dare un risultato sbagliato a causa degli anni bisestili.

Calcolo dell'età: perché non è una semplice sottrazione di anni

Perché sottrarre semplicemente gli anni di nascita può dare un'età superiore di uno rispetto a quella reale.

Fusi orari: perché UTC non è la stessa cosa di GMT

Perché UTC non cambia mai due volte all'anno, mentre l'ora di Londra (GMT/BST) sì.

Calcolatrice di durata: come sommare correttamente ore, minuti e secondi

Perché sommando minuti e secondi bisogna "riportare" il resto alla cifra successiva, come nella somma decimale.

Numero di settimana: perché paesi diversi contano le settimane in modo diverso

Perché il 1° gennaio a volte appartiene alla settimana 52 o 53 dell'anno precedente secondo lo standard ISO 8601.

Numeri romani: come funziona un sistema senza zero né posizioni

Perché IV significa 4 e non 6, e come funziona la regola della sottrazione nei numeri romani.

IEEE 754: perché 0.1 + 0.2 non è uguale a 0.3 nel codice

Perché in quasi ogni linguaggio di programmazione 0.1 + 0.2 restituisce 0.30000000000000004.

Numero in lettere: perché trasformare cifre in parole

Perché nei documenti bancari l'importo viene scritto sia in cifre che in lettere contemporaneamente.