尝试:
String isoDateTime = "2014-09-14T17:00:00+00:00";ZonedDateTime fromIsoDate = ZonedDateTime.parse(isoDateTime);ZoneOffset offset = ZoneOffset.of("+09:30");ZonedDateTime acst = fromIsoDate.withZoneSameInstant(offset);System.out.println("Input: " + fromIsoDate);System.out.println("Output: " + acst.format(DateTimeFormatter.ISO_OFFSET_DATE_TIME));输出:
Input: 2014-09-14T17:00ZOutput: 2014-09-15T02:30:00+09:30
使用 OffsetDateTime
虽然通常最好使用
ZonedDateTime上面所示的方法,但是可以使用
OffsetDateTime以下方法执行相同的转换:
String isoDateTime = "2014-09-14T17:00:00+00:00";OffsetDateTime fromIsoDate = OffsetDateTime.parse(isoDateTime);ZoneOffset offset = ZoneOffset.of("+09:30");OffsetDateTime acst = fromIsoDate.withOffsetSameInstant(offset);


