tl; dr
LocalDate.parse(
"19/05/2009" ,
DateTimeFormatter.ofPattern("dd/MM/uuuu")
)
Détails
Les autres réponses avec java.util.Date
, java.sql.Date
et SimpleDateFormat
sont maintenant dépassées.
LocalDate
La façon moderne de faire date-heure est le travail avec les classes de java.time, en particulier LocalDate
. La classe LocalDate
représente une valeur de date uniquement sans heure et sans fuseau horaire.
DateTimeFormatter
Pour analyser ou générer, une chaîne représentant une valeur date-heure, utilisez la classe DateTimeFormatter
.
DateTimeFormatter f = DateTimeFormatter.ofPattern("dd/MM/uuuu");
LocalDate ld = LocalDate.parse("19/05/2009" , f);
Ne confondez pas un objet date-heure avec une chaîne représentant sa valeur. Un objet date-heure a aucun format, tandis qu'un String le fait. Un objet date-heure, tel que LocalDate
, peut générer une chaîne pour représenter sa valeur interne, mais l'objet date-heure et la chaîne sont des objets distincts distincts.
Vous pouvez spécifier n'importe quel format personnalisé pour générer une chaîne. Ou laissez java.time faire le travail de localisation automatique.
DateTimeFormatter f =
DateTimeFormatter.ofLocalizedDate(FormatStyle.FULL)
.withLocale(Locale.CANADA_FRENCH) ;
String output = ld.format(f);
Dump vers la console.
System.out.println("ld: " + ld + " | output: " + output);
ld: 2009-05-19 | sortie: mardi 19 mai 2009
See in action in IdeOne.com.
A propos java.time
Le cadre java.time est construit en Java 8 et versions ultérieures. Ces classes supplantent les vieilles classes de date-heure legacy gênantes telles que java.util.Date
, Calendar
, & SimpleDateFormat
.
Le projet Joda-Time, maintenant dans maintenance mode, conseille la migration vers java.time.
Pour en savoir plus, voir le Oracle Tutorial. 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 et SE 9 et plus tard
- 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 SE 7
- Une grande partie de la fonctionnalité de java.time est de retour à Java 6 Ported .
- Android
- Le projet ThreeTenABP adapte ThreeTen-Backport (mentionné ci-dessus) pour les applications en particulier.
- Voir How to use….
Le projet ThreeTen-Extra java.time étend avec des classes supplémentaires. Ce projet est un terrain d'essai pour d'éventuels ajouts futurs à java.time. Vous pouvez trouver ici des classes utiles telles que Interval
, YearWeek
, YearQuarter
et more.
Un objet date n'a pas de format, c'est juste un nombre représentant la date. La date peut être représentée par une chaîne au format "aaaa-MM-jj". –