tl; dr
java.time.LocalDateTime.parse(
"04/02/2011 20:27:05" ,
DateTimeFormatter.ofPattern( "dd/MM/uuuu HH:mm:ss" )
)
java.time
L'approche moderne utilise les classes java.time qui supplantent le vénérable Joda-Time projet .
Analyser aussi LocalDateTime
car votre entrée n'a aucun indicateur de fuseau horaire ou de décalage par rapport à UTC.
String input = "04/02/2011 20:27:05" ;
DateTimeFormatter f = DateTimeFormatter.ofPattern( "dd/MM/uuuu HH:mm:ss" ) ;
LocalDateTime ldt = LocalDateTime.parse( input , f ) ;
ldt.toString (): 2011-02-04T20: 27: 05
Conseil: Dans la mesure du possible, utilisez les formats ISO 8601 standard lors de l'échange de valeurs date-heure sous forme de texte plutôt que dans le format affiché ici. De manière pratique, les classes java.time utilisent les formats standard lors de l'analyse / génération de chaînes.
À 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 java.time classes .
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 backportée sur 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 .
java.time
package dans Java 8, essayez d'utiliserLocalDateTime.parse
ouInstant.parse
.