有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在本地时区上独立解析ZoneDateTime

我试图解析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,不幸的是,当具有不同的本地时区时,这会产生不同的结果。我希望完全忽略本地时区,并且能够仅从给定参数创建ZoneDateTime或Instant


共 (1) 个答案

  1. # 1 楼答案

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

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