独立于本地时区解析ZonedDateTime

问题描述 投票:1回答:1

我试图解析ZonedDateTime(或Instant),而不必经过LocalDate,这会受到本地时区的影响。

我希望能够做类似的事情:

val string = "2020-02-02T10:00:00"
val timeZone = ZoneId.of("Europe/Vienna")
val zoned = ZonedDateTime.parse(string, DateTimeFormatter.ISO_DATE_TIME, timeZone)

然而,甚至没有任何类似的方法-所有这些方法都需要使用LocalDate,不幸的是,当具有不同的本地时区时,会产生不同的结果。我想完全忽略本地时区,仅通过给定参数就可以创建ZonedDateTime或Instant。

java timezone java-time java-date
1个回答
1
投票

您输入的字符串仅代表本地日期时间,因此首先将其解析为LocalDateTime,然后在区域将其转换为ZoneDateTime,我不会说Instant,因为它始终代表UTC的时刻

ZonedDateTime dateTime = LocalDateTime.parse(string,DateTimeFormatter.ISO_LOCAL_DATE_TIME)
                                      .atZone(timeZone);
© www.soinside.com 2019 - 2024. All rights reserved.