DocumentiImmaginiMediaStrumenti PDF

Convertitore Formato Data Online

Converti tra sintassi di formato data: strftime, Moment.js, ICU, Go, PHP, Java.

YYYY-MM-DD HH:mm:ss
Reference table
ElementstrftimeMomentICUGo
4-digit year%YYYYYyyyy2006
2-digit year%yYYyy06
Month (01-12)%mMMMM01
Full month name%BMMMMMMMMJanuary
Abbreviated month name%bMMMMMMJan
Day of month (01-31)%dDDdd02
Day of month, no leading zero%eDd2
Hour 24h (00-23)%HHHHH15
Hour 12h (01-12)%Ihhhh03
Minute (00-59)%Mmmmm04
Second (00-59)%Sssss05
AM/PM%pAaPM
Timezone abbreviation%ZzzzzMST
Timezone offset%zZZZ-0700
Full weekday name%AddddEEEEMonday
Abbreviated weekday name%adddEEEMon
Day of year (001-366)%jDDDDD__2
Processed in your browser

Convertitore di formati data per sviluppatori

Tutti i linguaggi

Supporta strftime, Moment.js, Day.js, ICU, Go, PHP, Java, .NET e Ruby.

100% privato

La conversione avviene nel tuo browser. Nessun dato viene inviato a nessun server.

Anteprima reale

Guarda come verrebbe renderizzata la data con il tuo formato in ogni linguaggio.

Istantaneo

Conversione in tempo reale mentre digiti. Nessuna registrazione, nessuna attesa.

Tre passaggi, senza complicazioni

1

Inserisci il token di formato

Digita un formato data come %Y-%m-%d (strftime) oppure YYYY-MM-DD (Moment.js). Lo strumento rileva automaticamente il dialetto.

2

Conversione istantanea

Ottieni il formato equivalente in tutti i dialetti supportati: strftime, Moment.js, ICU, Go, PHP, Java e .NET.

3

Anteprima con data reale

Guarda come apparirebbe la data attuale con quel formato in ogni linguaggio.

Hai delle domande?

strftime (acronimo di string format time) e una funzione della libreria standard C definita nello standard C89 e ANSI C. Formatta una struttura tm (tempo) come stringa di testo usando token come %Y (anno a 4 cifre), %m (mese), %d (giorno), %H (ora nel formato 24h), %M (minuti) e %S (secondi). E l'origine di quasi tutti i sistemi di formattazione delle date: Python, Ruby, PHP (date() usa token diversi ma strftime() usa gli stessi), bash e molti altri.

Moment.js ha reso popolare una notazione diversa: YYYY (anno a 4 cifre), MM (mese), DD (giorno), HH (ora nel formato 24h), mm (minuti), ss (secondi). Differenza fondamentale: le maiuscole contano (MM e il mese, mm sono i minuti). Questa notazione e stata adottata da Day.js, date-fns, Luxon e dalla maggior parte delle librerie JavaScript moderne. La proposta JavaScript Temporal (TC39) usa invece la notazione ICU.

ICU (International Components for Unicode) definisce lo standard CLDR per i formati data. Usa token come yyyy (anno), MM (mese), dd (giorno) e HH (ora). E il sistema usato in Java (java.time.format.DateTimeFormatter), Swift (DateFormatter), Kotlin, Android e la proposta JavaScript Temporal. Il vantaggio di ICU e che gestisce anche la localizzazione: il pattern d MMMM yyyy produce April 7, 2026 in inglese e 7 de abril de 2026 in spagnolo.

Go (Golang) usa una data di riferimento specifica come template: il 2 gennaio 2006 alle 15:04:05 di lunedi. Invece di token astratti, descrivi il formato mostrando come apparirebbe quella data specifica: 2006-01-02 per anno-mese-giorno e 15:04:05 per l'ora completa. Questo approccio e unico e piu intuitivo secondo i suoi creatori, sebbene possa risultare disorientante all'inizio.

Data ISO 8601: strftime usa %Y-%m-%d, Moment.js usa YYYY-MM-DD, Go usa 2006-01-02, Java usa yyyy-MM-dd. Data e ora completa: strftime usa %Y-%m-%dT%H:%M:%S, Moment.js usa YYYY-MM-DDTHH:mm:ss, Go usa 2006-01-02T15:04:05, Java usa yyyy-MM-dd con T tra apici e HH:mm:ss. Formato europeo: strftime usa %d/%m/%Y, Moment.js usa DD/MM/YYYY, Go usa 02/01/2006, Java usa dd/MM/yyyy.

Storia della formattazione delle date in programmazione, ISO 8601, formattazione locale e gestione dei fusi orari

La standardizzazione dei formati data nell'informatica e stata storicamente problematica. La funzione strftime e stata introdotta nella libreria standard C (ANSI C, 1989) ma le sue radici risalgono ai sistemi Unix AT&T degli anni '70. Prima della standardizzazione, ogni sistema e linguaggio usava la propria notazione, causando gravi incompatibilita. Lo standard ISO 8601 (prima edizione 1988, rivisto nel 2004 e nel 2019) ha stabilito YYYY-MM-DD come formato universale per lo scambio di dati, adottato da XML, JSON, HTTP (per le date nei cookie e negli header) e dalla maggior parte delle API moderne.

La localizzazione delle date aggiunge un altro livello di complessita. L'ordine giorno-mese-anno varia per paese: DD/MM/YYYY in Europa e America Latina, MM/DD/YYYY negli Stati Uniti (fonte di frequenti confusioni: 01/02/2026 e il 1 febbraio in Europa ma il 2 gennaio negli USA). I sistemi ICU e CLDR gestiscono queste differenze in automatico: la stessa funzione di formato produce April 7, 2026 in inglese, 7 de abril de 2026 in spagnolo, 7. April 2026 in tedesco e l'equivalente giapponese con l'anno scritto per esteso, senza che lo sviluppatore debba gestire le differenze manualmente.

I fusi orari sono la parte piu complessa della gestione delle date nel software. Il database dei fusi orari IANA (detto anche Olson Database o tzdata) mantiene il registro storico e aggiornato di tutti i fusi orari del mondo, inclusi i cambiamenti storici dell'ora legale. Molti bug famosi nel software riguardano le date: il bug Y2K (anno 2000), il bug dell'anno 2038 nei sistemi Unix a 32 bit (dove il timestamp Unix andra in overflow il 19 gennaio 2038) e gli errori legati all'ora legale che interessano calendari e sistemi di prenotazione due volte l'anno.