作者:期待眺望未来_974 | 来源:互联网 | 2023-08-16 17:03
我需要使用timeZone作为字符串将来自JSON文件的字符串转换为LocalDate和LocalTime格式。我只设法使用LocalDate.ofInstant(Ins
我需要使用 timeZone 作为字符串将来自 JSON 文件的字符串转换为 LocalDate 和 LocalTime 格式。我只设法使用 LocalDate.ofInstant(Instant, ZoneId) 方法将日期转换为 LocalDate,但它需要像这样的时间和日期格式2021-05-21T10:17:55.539729Z
,但我只收到的字符串采用如下所示的格式(yyyy-mm-dd 和 hh :mm:ss)
{
"timeZone": "America/New_York",
"date": "2021-02-25",
"time": "13:00:00"
}
回答
您可以将每个子组件转换为其对应的java.time
对象,然后将所有组件组合成一个ZonedDateTime
val jsOnData= // your parsed json
val zOne= ZoneId.of(jsonData.timeZone)
val time = LocalTime.parse(jsonData.time)
val date = LocalDate.parse(jsonData.date)
val zOnedDateTime= ZonedDateTime.of(date, time, zone)
println(zonedDateTime) // 2021-02-25T13:00-05:00[America/New_York]