tl; dr
LocalDate.of( 2018 , Month.JANUARY , 23 )
.format( DateTimeFormatter.ofPattern( “uuuu-MM-EEE” , Locale.US ) )
java.time
L'approccio moderno utilizza le classi java.time.
LocalDate ld = LocalDate.of( 2018 , Month.JANUARY , 23 ) ;
Nota come specifichiamo un Locale
tale da Locale.CANADA_FRENCH
determinare la lingua umana usata per tradurre il nome del giorno.
DateTimeFormatter f = DateTimeFormatter.ofPattern( “uuuu-MM-EEE” , Locale.US ) ;
String output = ld.format( f ) ;
ISO 8601
Tra l'altro, si può essere interessati dalla norma ISO 8601 settimana schema di numerazione: yyyy-Www-d
.
2018-W01-2
La settimana # 1 ha il primo giovedì dell'anno solare. La settimana inizia di lunedì. Un anno ha 52 o 53 settimane. Gli ultimi / i primi giorni di un anno solare possono arrivare nell'anno basato sulla settimana successivo / precedente.
L'unica cifra alla fine è il giorno della settimana, 1-7 per lunedì-domenica.
Aggiungi la classe della libreria ThreeTen-Extra al tuo progetto per la YearWeek
classe.
Di java.time
Il framework java.time è integrato in Java 8 e versioni successive. Queste classi soppiantare la vecchia fastidiosi legacy classi data-time come java.util.Date
, Calendar
, eSimpleDateFormat
.
Il progetto Joda-Time , ora in modalità di manutenzione , consiglia la migrazione alle classi java.time .
Per saperne di più, vedere il tutorial Oracle . E cerca Stack Overflow per molti esempi e spiegazioni. La specifica è JSR 310 .
Dove ottenere le classi java.time?
- Java SE 8 , Java SE 9 e versioni successive
- Built-in.
- Parte dell'API Java standard con un'implementazione in bundle.
- Java 9 aggiunge alcune funzionalità e correzioni minori.
- Java SE 6 e Java SE 7
- Gran parte delle funzionalità java.time sono portate indietro su Java 6 e 7 in ThreeTen-Backport .
- androide
- Versioni successive delle implementazioni di bundle Android delle classi java.time.
- Per precedenza Android, il ThreeTenABP progetto si adatta ThreeTen-Backport (di cui sopra). Vedi Come usare ThreeTenABP… .
Il progetto ThreeTen-Extra estende java.time con classi aggiuntive. Questo progetto è un banco di prova per possibili future aggiunte a java.time. Si possono trovare alcune classi utili, come per esempio Interval
, YearWeek
, YearQuarter
e altro .
dd
come formato?