ho recentemente trasferito a Java 8 a, si spera, si occupano con tempi locali e suddivisa in zone più facilmente.Impossibile ottenere ZonedDateTime da TemporalAccessor utilizzando DateTimeFormatter e ZonedDateTime in Java 8
Comunque, sto di fronte ad una, a mio parere, semplice problema quando analizza una data semplice.
public static ZonedDateTime convertirAFecha(String fecha) throws Exception {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(
ConstantesFechas.FORMATO_DIA).withZone(
obtenerZonaHorariaServidor());
ZonedDateTime resultado = ZonedDateTime.parse(fecha, formatter);
return resultado;
}
Nel mio caso:
- fecha è '15/06/2014'
- ConstantesFechas.FORMATO_DIA è 'dd/MM/yyyy'
- obtenerZonaHorariaServidor torna ZoneId.systemDefault()
Quindi, questo è un semplice esempio. Tuttavia, il parse genera questa eccezione:
java.time.format.DateTimeParseException: Text '15/06/2014' could not be parsed: Unable to obtain ZonedDateTime from TemporalAccessor: {},ISO resolved to 2014-06-15 of type java.time.format.Parsed
Qualche consiglio? Ho provato diverse combinazioni di analisi e utilizzo di TemporalAccesor, ma finora non ho avuto fortuna.
migliori saluti
Bella cattura - anche se credo che il PO avrebbe ancora bisogno di fornire un tempo di essere in grado di analizzare l'input in un ZonedDateTime. – assylias
@assylias Sì, OP dovrebbe estendere il modello almeno anche per la parte temporale o scegliere il tuo suggerimento. Ciò potrebbe dipendere anche dalla configurazione di parsing di lenient, ecc. In realtà non sono in grado di testare questi dettagli con Java-8 sul mio posto corrente. –
Link di segnalazione bug migliore è https://bugs.openjdk.java.net/browse/JDK-8033662 – JodaStephen