无法使用 Java 8 中的 DateTimeFormatter 和 ZonedDateTime 从 TemporAlAccessor 获取 ZonedDateTime
我最近迁移到Java 8,希望能更容易地处理本地和分区时间。
但是,在我看来,在解析简单日期时,我面临着一个简单的问题。
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;
}
在我的情况下:
- fecha 是 '15/06/2014'
- ConstantesFechas.FORMATO_DIA是“dd/mm/yyyy”
- obtenerZonaHorariaServidor return ZoneId.systemDefault()
所以,这是一个简单的例子。但是,解析会引发以下异常:
java.time.format.DateTimeParseException: 无法解析文本 '15/06/2014': 无法从 TemporalAccessor 获取 ZonedDateTime: {},ISO 解析为 java.time.format.Parsed 类型的 2014-06-15
有什么提示吗?我一直在尝试解析和使用TemporalAccesor的不同组合,但到目前为止没有任何运气。