gpt4 book ai didi

java - 如何获取 ZonedDateTime 时区的三个字母缩写?

转载 作者:行者123 更新时间:2023-12-01 19:36:03 25 4
gpt4 key购买 nike

我正在尝试为我的 ZonedDateTime 格式化程序获取 EDT 的格式。

根据格式规范,这应该是使用 z 选项,但这似乎不起作用,而是生成 GMT+4 的输出。

我使用的是 Ubuntu,我不确定这是否特定于平台。

这是我的代码:

/**
* The date time formatter for snapshot dates.
*/
public static final DateTimeFormatter SNAPSHOT_FORMAT = new DateTimeFormatterBuilder().appendPattern("dd-MM-yyyy_HH:mm:ssz")
.toFormatter();

&产生什么:

14-08-2019_18:45:52GMT-04:00

如何将 GMT-4 转换为 EDT

Page

编辑0:我从哪里获取ZonedDateTime:

ZonedDateTime.now();

最佳答案

不能,因为 ZonedDateTime 中的 ZoneId 没有该信息。

展示

DateTimeFormatter fmt = DateTimeFormatter.ofPattern("dd-MM-yyyy_HH:mm:ssz");

ZonedDateTime zdtEastern = ZonedDateTime.now(ZoneId.of("America/New_York"));
ZonedDateTime zdtMinus4 = ZonedDateTime.now(ZoneId.of("GMT-04:00"));

System.out.println(zdtEastern.format(fmt)); // Prints: 14-08-2019_19:40:36EDT
System.out.println(zdtMinus4.format(fmt)); // Prints: 14-08-2019_19:40:36GMT-04:00

您需要修复ZonedDateTimeZoneId。由于我们不知道您从哪里/如何获得该值,因此我们无法提供帮助。

不相关:请注意,如果您只使用模式,则不需要使用 DateTimeFormatterBuilder

关于java - 如何获取 ZonedDateTime 时区的三个字母缩写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57502973/

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