我正在尝试将 ISO 日期时间转换为 LocalDateTime:
String timezone = "Pacific/Apia";
String isoDateTime = "2011-12-03T10:15:30+03:00";
var zoned = ZonedDateTime.from(ISO_DATE_TIME_FORMATTER.parse(isoDateTime));
return zoned.withZoneSameInstant(ZoneId.of(timeZone)).toLocalDateTime();
此代码有效 - 它将其转换为包含偏移量的本地日期。但问题是当我在没有偏移的情况下传递日期时:2011-12-03T10:15:30 -
java.time.DateTimeException:无法从 TemporalAccessor 获取 ZonedDateTime:{},ISO 解析为 java.time.format.Parsed 类型的 2011-12-03T10:15:30
我知道为什么会出现此异常,问题是如何将包括偏移量在内的两个日期都转换为 LocalDateTime?. 我想避免一些字符串解析(检查字符串是否包含“+”/“-”)。
慕森王
白衣染霜花
相关分类