tl; dr
LocalDate.of( 2018 , Month.JANUARY , 23 )
.format( DateTimeFormatter.ofPattern( “uuuu-MM-EEE” , Locale.US ) )
java.time
L'approche moderne utilise les classes java.time.
LocalDate ld = LocalDate.of( 2018 , Month.JANUARY , 23 ) ;
Notez comment nous spécifions un Locale
tel Locale.CANADA_FRENCH
pour déterminer la langue humaine utilisée pour traduire le nom du jour.
DateTimeFormatter f = DateTimeFormatter.ofPattern( “uuuu-MM-EEE” , Locale.US ) ;
String output = ld.format( f ) ;
ISO 8601
Soit dit en passant, vous pouvez être intéressé par la norme semaine ISO 8601 système de numérotation: yyyy-Www-d
.
2018-W01-2
La semaine n ° 1 a le premier jeudi de l'année civile. La semaine commence un lundi. Une année compte 52 ou 53 semaines. Les derniers / premiers jours d'une année civile peuvent atterrir dans l'année suivante / précédente basée sur la semaine.
Le seul chiffre à la fin est le jour de la semaine, 1-7 pour le lundi au dimanche.
Ajoutez la classe de bibliothèque ThreeTen-Extra à votre projet pour la YearWeek
classe.
À propos java.time
Le framework java.time est intégré à Java 8 et versions ultérieures. Ces classes supplantent les anciens gênants hérités des classes date-heure tels que java.util.Date
, Calendar
, et SimpleDateFormat
.
Le projet Joda-Time , désormais en mode maintenance , conseille la migration vers les classes java.time .
Pour en savoir plus, consultez le didacticiel Oracle . Et recherchez Stack Overflow pour de nombreux exemples et explications. La spécification est JSR 310 .
Où obtenir les classes java.time?
- Java SE 8 , Java SE 9 et versions ultérieures
- Intégré.
- Partie de l'API Java standard avec une implémentation groupée.
- Java 9 ajoute quelques fonctionnalités et corrections mineures.
- Java SE 6 et Java SE 7
- Une grande partie de la fonctionnalité java.time est rétroportée vers Java 6 et 7 dans ThreeTen-Backport .
- Android
Le projet ThreeTen-Extra étend java.time avec des classes supplémentaires. Ce projet est un terrain d'essai pour d'éventuels futurs ajouts à java.time. Vous trouverez peut - être des classes utiles ici, comme Interval
, YearWeek
, YearQuarter
et plus .
dd
comme format?