"Mi sono ricordato che volevo parlarti un po' di come lavorare con le date."
"Mi hai già detto che Java ha la classe Date e posso usare quella classe per lavorare con le date."
"Hmm. Beh, la classe Date è obsoleta da un po'."
"Ora si consiglia invece di utilizzare la classe Calendar, che ha un metodo getTime() che restituisce la data corrente."
"Questo è un oggetto Calendario che di solito viene creato:"
Calendar cal = Calendar.getInstance();
"Quando chiami questo metodo, viene creato il calendario corretto in base alle impostazioni del tuo computer."
"Il calendario 'corretto'? Significa che ce ne sono diversi?"
"Sì. Beh, sarebbe più corretto dire 'rilevante'. Il fatto è che la Terra non ha uno, ma molti calendari. Quasi ognuno di essi è associato a qualche religione o paese."
"L'anno può essere diverso a seconda del paese in cui ti trovi."
"Ecco alcuni esempi dei calendari più comuni."
Classe di calendario | Nome del calendario |
---|---|
Calendario gregoriano | Calendario gregoriano cristiano |
Calendario buddista | Calendario buddista |
Calendario imperiale giapponese | Calendario imperiale giapponese |
"C'è anche il calendario cinese, il calendario islamico e molti altri".
"Vedo."
"Per ottenere la data corrente, devi scrivere un codice come questo:"
Calendar cal = Calendar.getInstance();
Date date = cal.getTime();
"La classe Calendar ha molti metodi che ti consentono di ottenere rapidamente qualsiasi informazione su una data e un'ora."
Codice | Commenti |
---|---|
|
era anno mese giorno del mese giorno della settimana (lun, mar, mer, …) ora minuto secondo |
"A volte hai davvero solo bisogno di ottenere una parte delle informazioni disponibili. Ad esempio, l'anno corrente o il giorno della settimana."
"Ma a volte devi semplicemente visualizzare la data nel formato giusto."
"Ad esempio, nel file di registro o da qualche altra parte."
"Oppure crea un formato che l'utente può personalizzare. Cosa fai allora?"
"Ci sono classi speciali anche per questo. La classe SimpleDateFormat è perfettamente adatta per l'attività che hai descritto:"
Calendar calendar = Calendar.getInstance();
DateFormat formatter = new SimpleDateFormat("MM-DD-YY");
String message = formatter.format(calendar.getTime());
"Ah. Mi ricordo. Mi hai già spiegato qualcosa su SimpleDateFormat , ma onestamente non ricordo molto."
"È tutto molto semplice. Crei un oggetto SimpleDateFormat e gli passi il modello di data che desideri ottenere. Quindi chiami il metodo format e ti dà la data passata nella forma desiderata."
"Sembra interessante. Vorrei maggiori dettagli."
"Ecco qua. I dettagli. Ecco alcune delle lettere che possono essere utilizzate nello schema della data:"
Lettera | Descrizione |
---|---|
G | Sostituito dall'era (AD o BC) |
si | Sostituito dall'anno |
M | Sostituito dal mese |
w | Numero di settimane dell'anno |
W | Numero della settimana nel mese |
D | Numero di giorni dell'anno |
D | Giorno del mese |
F | Giorno della settimana nel mese |
E | Giorno della settimana |
UN | AM/PM (prima o dopo mezzogiorno) |
H | Ora nel formato 24 ore (0-23) |
K | Ora nel formato 24 ore (1-24) |
K | Ora nel formato 12 ore (0-11) |
H | Ora nel formato 12 ore (1-12) |
M | Minuti |
S | Secondi |
S | Millisecondi |
z.z | Fuso orario, formattato in questo modo: Pacific Standard Time, PST |
z | Fuso orario, formattato in questo modo: -0800/td> |
"Fantastico! È praticamente tutto ciò di cui hai bisogno."
"Ci sono ancora alcune sfumature legate alla ripetizione di queste lettere".
"Se scrivi YY, otterrai le ultime due cifre dell'anno. Se scrivi YYYY, otterrai tutte e quattro le cifre dell'anno."
"C'è anche una certa complessità con i mesi. MM è il numero del mese. MMM è un'abbreviazione di tre lettere del mese, cioè Jan, Feb, Mar, Apr, May, ecc. MMMM sta per il nome completo del mese ."
"Puoi anche visualizzare l'intero giorno della settimana (usando EEEE) o solo le prime due lettere (usando EE)."
"Grazie, Rishi. Questa classe SimpleDateFormat è davvero utile. Adesso lo so."
"Divertiti a usarlo! E buona fortuna!"
GO TO FULL VERSION