gpt4 book ai didi

java - 如何使 ZoneOffset UTC 返回 "+00:00"而不是 "Z"

转载 作者:搜寻专家 更新时间:2023-10-31 19:52:09 25 4
gpt4 key购买 nike

Java 中是否有任何内置方法可以为 ZoneOffset UTC 返回 "+00:00"getId() 方法只返回"Z"

我目前的方法是手动将其更改为 "+00:00" 如果结果是 "Z"

public static String getSystemTimeOffset() {
String id = ZoneOffset.systemDefault().getRules().getOffset(Instant.now()).getId();
return "Z".equals(id) ? "+00:00" : id;
}

最佳答案

private static DateTimeFormatter offsetFormatter = DateTimeFormatter.ofPattern("xxx");

public static String getSystemTimeOffset() {
ZoneOffset offset = ZoneId.systemDefault().getRules().getOffset(Instant.now());
return offsetFormatter.format(offset);
}

事实证明,ZoneOffset 可以像日期时间对象一样格式化(除了没有 ZoneOffset.format 方法,所以我们需要使用DateTimeFormatter.format 方法并传递区域偏移量)。所以这是阅读 DateTimeFormatter 文档的问题。有很多格式模式字母可用于格式化偏移量:OXxZ。对于每一个,我们在格式中放入多少都会有所不同。大写的 X 会给你不需要的 Z,所以我们可以跳过它。这些示例似乎表明我们可以在此处使用小写的x 或大写的Z。对于x:“三个字母输出小时和分钟,带冒号,例如'+01:30'。”宾果。

链接:DateTimeFormatter documentation

关于java - 如何使 ZoneOffset UTC 返回 "+00:00"而不是 "Z",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49790409/

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