问题标签 [xmlgregoriancalendar]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
118 浏览

java - Java XMLGregorianCalendar 正在改变时间 - 奇怪的行为

我有一个日期作为输入 = 2021-03-12T10:42:01.000Z.... 我想转换成这种格式:

基本上,它增加了 2 小时。可能和时区有关,我没有在另一台电脑上测试过。我有两个问题:

  • 为什么会这样
  • 我能做些什么来避免它?这是一个遗留应用程序,所以我不想做大的改变

谢谢

0 投票
1 回答
51 浏览

xml - XStream 解组 XMLGregorianCalendar

我有一些字段,其中 xsd 将其作为 xs:dateTime

由于某种原因,当它被编组时,它被存储如下。

我在下面收到此错误。

知道如何编写转换器来处理这个问题吗?

0 投票
2 回答
96 浏览

java - 如何仅使用 XMLGregorianCalendar 类型获取年份

我有一个使用 XMLGregorianCalendar 类型设置的 XML Jaxb 类。但是我们应该在这个属性中只设置年份。

如果我将其设置为高于其捐赠,2021-09-23T10:19:38.346-04:00但我只需要类型为 XMLGregorianCalendar 的年份。我们怎么能做到这一点?

0 投票
0 回答
28 浏览

java - 如何在 XMLGregorianCalendar 和 OffsetDateTime 中保留 +00:00 而不是 Z

我需要序列化(从 Java DTO 生成 Xml 字符串)并使用具有特定 date_time 模式的 XSD 持久化 DTO(Oracle DB),即 .*(+|-)((0[0-9])|(1 [0-3])):[0-5][0-9] 需要支持带偏移量的日期时间 (2022-02-12T12:49:14+05:45)。我正在使用 maven-jaxb 插件来生成 XML Java 对象和一些实用程序函数来转换 dateTime 内容。生成的类由 dateTime 对象的 XMLGregorianCalendar 组成,我使用 OffsetDateTime 来映射和持久化内容。

我无法更新模式,并且只有当 XML 日期元素包含像这样的日期 2022-02-12T12:49:14+00:00 (偏移量为零)时,XMLGregorianCalendar/OffsetDateTime 默认情况下都会转换偏移到 Z 即 2022-02-12T12:49:14Z 这对模式无效。

如何在序列化和持久化 DTO 时保持 +00:00 偏移量?我正在使用 Spring Data JPA 来持久化 DTO 以及在持久化有效的 OffsetDateTime 时遇到的另一个问题,因为 JPA 持久化了没有偏移的日期时间值。字符串类型解决了这个问题,但我不应该将字符串用于日期时间。存储这些值的正确类型是什么?

这是我的映射功能:

我试图覆盖 XMLGregorianCalendar.toXmlFormat() ,但日历对象仍然包含 Z 而不是 +00:00 并且由于模式而序列化失败。