我从服务器收到 UTC 格式的时间。我解析为一个Instant对象,然后将其转换为LocalDateTime. 像这样:
fun String.toLocaleDateTime(): LocalDateTime {
return LocalDateTime.ofInstant(
Instant.parse(this),
ZoneOffset.systemDefault()
)
}
Run Code Online (Sandbox Code Playgroud)
问题是不同年份的LocalDateTime对象是不同的。
例如,将 UTC 时间转换为 IST 时间时:
1800-01-01T03:36:32Z -> 1800-01-01T09:30
1870-01-01T03:36:32Z -> 1870-01-01T08:57:42
1906-01-01-01T30Z:36:32Z -01-01T09:06:32