Y a-t-il un autre moyen que ces deux-là?
Oui il y a.
LocalDate.now(
ZoneId.of( "Pacific/Auckland" )
)
java.time
Java 8 et versions ultérieures sont livrées avec le nouveau package java.time intégré . Voir Tutoriel . Une grande partie de la fonctionnalité java.time est rétroportée vers Java 6 et 7 dans ThreeTen-Backport et adaptée à Android dans ThreeTenABP .
Semblable à Joda-Time , java.time propose une LocalDate
classe pour représenter une valeur de date uniquement sans heure et sans fuseau horaire.
Notez que le fuseau horaire est essentiel pour déterminer une date particulière. Par exemple, à minuit à Paris, la date est encore «hier» à Montréal.
LocalDate today = LocalDate.now( ZoneId.of( "America/Montreal" ) ) ;
Par défaut, java.time utilise la norme ISO 8601 pour générer une représentation sous forme de chaîne d'une date ou d'une date-heure. (Une autre similitude avec Joda-Time.) Il suffit donc d'appeler toString()
pour générer du texte comme 2015-05-21
.
String output = today.toString() ;
À propos de 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é.
- Une partie de l'API Java standard avec une implémentation groupée.
- Java 9 ajoute quelques fonctionnalités et correctifs mineurs.
- 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 de futurs ajouts possibles à java.time. Vous trouverez peut - être des classes utiles ici, comme Interval
, YearWeek
, YearQuarter
et plus .