我试图解析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
,然后在区域将其转换为ZoneDateTime
,我不会说Instant
,因为它始终代表UTC的时刻
ZonedDateTime dateTime = LocalDateTime.parse(string,DateTimeFormatter.ISO_LOCAL_DATE_TIME)
.atZone(timeZone);