gpt4 book ai didi

java - Scala - 如何将 LocalDateTime 转换为没有 GMT 后缀格式的 ZonedDateTime?

转载 作者:行者123 更新时间:2023-11-29 04:06:03 32 4
gpt4 key购买 nike

我想获得格林威治标准时间的 LocalDateTime,所以用 ZonedDateTime 包装它。

但是 gmtZoneTime 以以下格式返回:2019-10-29T00:00Z[GMT] 虽然我需要它:2019-10- 29T00:00:00.000+0000

我应该如何正确地将 localDateTime 转换为 GMT ZonedDateTime?

val currentDate:LocalDate = java.time.LocalDate.now
val localDateTime: LocalDateTime = currentDate.atStartOfDay
val gmtZoneTime: ZonedDateTime = localDateTime.atZone(ZoneId.systemDefault()).withZoneSameInstant(ZoneId.of("GMT"))

最佳答案

您需要格式化 ZonedDateTime

第一种方法是使用预定义的格式化程序,如:java.time.format.DateTimeFormatter.ISO_OFFSET_DATE_TIME,但是对于 GMT,它显示“Z”而不是“+0000” '(默认行为,其他偏移量显示为 '+0100' 等)

所以第二个是创建您自己的格式化程序,例如:java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssZ")

然后使用它来格式化 ZonedDateTime,例如 gmtZoneTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssZ"))所以你会得到这样的结果:

2019-10-28T23:00:00+0000

关于java - Scala - 如何将 LocalDateTime 转换为没有 GMT 后缀格式的 ZonedDateTime?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58614991/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com