我最近轉移到Java 8,希望能更輕鬆地處理本地和分區時間。無法使用Java 8中的DateTimeFormatter和ZonedDateTime從TemporalAccessor獲取ZonedDateTime
但是,在我看來,在解析簡單日期時,我面臨着一個簡單的問題。
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;
}
在我的情況:
- 日期星是'15/06/2014'
- ConstantesFechas.FORMATO_DIA是 '日/月/年'
- obtenerZonaHorariaServidor返回ZoneId.systemDefault()
所以,這是一個簡單的例子。但是,解析拋出此異常:
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
任何提示?我一直在嘗試解析和使用TemporalAccesor的不同組合,但目前爲止沒有任何運氣。
問候
尼斯趕上 - 雖然我相信運仍然需要提供一次能夠將輸入解析爲ZonedDateTime。 – assylias
@assylias是的,OP應該至少延長模式的時間部分或選擇你的建議。這也可能依賴於寬鬆的解析配置等。實際上,我無法在當前位置用Java-8測試這些細節。 –
更好的錯誤報告鏈接是https://bugs.openjdk.java.net/browse/JDK-8033662 – JodaStephen