gpt4 book ai didi

java - 从 java.util.Date 转换为 javax.xml.datatype.XMLGregorianCalendar 时日期发生变化

转载 作者:行者123 更新时间:2023-12-02 01:54:14 25 4
gpt4 key购买 nike

日期 2018 年 CEST 9 月 27 日星期四 00:00:00

变成了

2018-09-26T22:00:00.000Z

在 XMLGregorianCalendar 中转换时

通过这种方法:

 public static XMLGregorianCalendar dateToXMLGregorianCalendar(Date date) throws DatatypeConfigurationException{
GregorianCalendar cal = new GregorianCalendar();
cal.setTime(date);
return DatatypeFactory.newInstance().newXMLGregorianCalendar(cal);
}

如何避免此日期更改?

Tnx

最佳答案

这是相同的日期和时间。

您的第一次约会所在时区为 CEST,相当于 UTC+2您的第二个时间戳以 Z 时区呈现,相当于 UTC+0

因此,两者都表示相同的时间点,但渲染方式不同。

GregorianCalendar 有一种更改日历时区的方法,如果您想以 CEST 日期和时间输出,那么我建议您将日历时区更改为该时区。请参阅GregorianCalendar.setTimeZone供 API 引用。

这还取决于您如何从该日历中检索日期。如果您只是计划使用返回普通 Java Date 对象的 .getTime() 方法,那么您可以通过 DateTimeFormatter 发送该对象。以您想要的任何时区输出日期。

如果您只关心日期的实际“日期”部分,并且不想使其适应各种时区,请查看 LocalDate相反。

关于java - 从 java.util.Date 转换为 javax.xml.datatype.XMLGregorianCalendar 时日期发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52540711/

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