在本地时区独立解析 ZonedDateTime

Parsing ZonedDateTime independently on local timezone

我正在尝试解析 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。

你输入的字符串只是表示本地日期时间,所以先把它解析成LocalDateTime,然后在zone 把它转换成ZoneDateTime,我不会说Instant 因为它始终代表 UTC 中的时刻

ZonedDateTime dateTime = LocalDateTime.parse(string,DateTimeFormatter.ISO_LOCAL_DATE_TIME)
                                      .atZone(timeZone);