tl; dr
java.time.LocalDateTime.parse(
"04/02/2011 20:27:05" ,
DateTimeFormatter.ofPattern( "dd/MM/uuuu HH:mm:ss" )
)
java.time
L'approccio moderno utilizza le classi java.time che soppiantano il venerabile progetto Joda-Time .
Analizza come un LocalDateTime
input privo di qualsiasi indicatore di fuso orario o offset da 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
Suggerimento: ove possibile, utilizzare i formati ISO 8601 standard quando si scambiano valori data-ora come testo anziché come formato visualizzato qui. Convenientemente, le classi java.time usano i formati standard quando analizzano / generano stringhe.
Informazioni su java.time
Il framework java.time è integrato in Java 8 e versioni successive. Queste classi soppiantare la vecchia fastidiosi legacy classi data-time come java.util.Date
, Calendar
, e SimpleDateFormat
.
Il progetto Joda-Time , ora in modalità manutenzione , consiglia la migrazione alle classi java.time .
Per saperne di più, consulta il tutorial Oracle . E cerca Stack Overflow per molti esempi e spiegazioni. La specifica è JSR 310 .
Dove ottenere le classi java.time?
Il progetto ThreeTen-Extra estende java.time con classi aggiuntive. Questo progetto è un banco di prova per possibili aggiunte future a java.time. Si possono trovare alcune classi utili, come per esempio Interval
, YearWeek
, YearQuarter
e altro .
java.time
pacchetto in Java 8, prova a usareLocalDateTime.parse
oInstant.parse
.