tl; dr
java.time.LocalDateTime.parse(
"04/02/2011 20:27:05" ,
DateTimeFormatter.ofPattern( "dd/MM/uuuu HH:mm:ss" )
)
java.time
A abordagem moderna usa as classes java.time que substituem o venerável projeto Joda-Time .
Analise como a LocalDateTime
como sua entrada não possui nenhum indicador de fuso horário ou deslocamento do 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
Dica: Sempre que possível, use os formatos ISO 8601 padrão ao trocar valores de data e hora como texto, em vez do formato visto aqui. Convenientemente, as classes java.time usam os formatos padrão ao analisar / gerar strings.
Sobre java.time
A estrutura java.time é integrada ao Java 8 e posterior. Essas classes suplantar os velhos problemáticos legados aulas de data e hora, como java.util.Date
, Calendar
, e SimpleDateFormat
.
O projeto Joda-Time , agora em modo de manutenção , aconselha a migração para as classes java.time .
Para saber mais, consulte o Tutorial do Oracle . E procure Stack Overflow para muitos exemplos e explicações. A especificação é JSR 310 .
Onde obter as classes java.time?
O projeto ThreeTen-Extra estende o java.time com classes adicionais. Este projeto é um campo de prova para possíveis adições futuras ao java.time. Você pode encontrar algumas classes úteis aqui, como Interval
, YearWeek
, YearQuarter
, e mais .
java.time
pacote no Java 8, tente usarLocalDateTime.parse
ouInstant.parse
.