gpt4 book ai didi

java - 000Z 时区的日历问题

转载 作者:行者123 更新时间:2023-12-01 04:44:07 24 4
gpt4 key购买 nike

我在使用 Java 日历时遇到了奇怪的情况。我正在使用推土机映射器来映射对象。

我的要求是获得一个仅接受日历类型的 XML 架构元素,

说元素<expDtTime>2010-11-11T09:30:47.000Z</expDtTime>

我必须转换它。我编写了以下转换器:

public Calender m(Date source,Calender c) {
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
calendar.setTime(source);
return calendar;
}

我需要相同的格式。但它显示为

<expDtTime>2010-11-11T04:00:47.000Z</expDtTime>

我希望我的对象具有相同的格式和值。时间显示为 4:00。

有什么办法可以解决这个问题吗?

任何建议或帮助将不胜感激。

提前致谢

最佳答案

对于 XML dateTime 的操作,请使用 javax.xml.datatype 包中的 XMLGregorianCalendar。

从字符串解析

XMLGregorianCalendar xgc = DatatypeFactory.newInstance().newXMLGregorianCalendar("2010-11-11T04:00:47.000Z");
GregorianCalendar gc = xgc.toGregorianCalendar();

从公历转换

XMLGregorianCalendar xgc = DatatypeFactory.newInstance().newXMLGregorianCalendar(gc);

格式化为 XML dateType 字符串

 String xmlDate = xgc.toString();

关于java - 000Z 时区的日历问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16105367/

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