【问题标题】:How to store java.util.sql to XMLGregorian Calendar如何将 java.util.sql 存储到 XMLGregorianCalendar
【发布时间】:2013-09-24 15:45:39
【问题描述】:

我正在尝试更改 XMLGregorianCalendar 日期的格式。我的架构文件(.xsd)中的代码是这样的:

    <xs:element name="LatestSaleDate">
    <xs:annotation>
        <xs:documentation>Latest sale date on the property (format MM/DD/YYYY)</xs:documentation>
    </xs:annotation>
    <xs:simpleType>
        <xs:restriction base="xs:date"/>
    </xs:simpleType>
</xs:element>

我通过 XJC 命令创建了 Java 类

我让 setter 和 getter 将 latestsaledate 设置为:

    @XmlElement(name = "LatestSaleDate")
    protected XMLGregorianCalendar latestSaleDate;

但是当我尝试从 db 获取日期并分配给 XMLGregorianCalendar 对象时,它给了我 IllegalArgumentException

这里的任何人都可以帮助我如何解决它并格式化它,以便它只以这种格式 dd/MM/yyyy 写入 xml 文件

【问题讨论】:

    标签: java date simpledateformat gregorian-calendar


    【解决方案1】:

    这里的任何人都可以帮助我如何解决它并格式化它,以便它只以这种格式 dd/MM/yyyy 写入 xml 文件

    你不能也不应该——至少在不改变架构的情况下是这样。您的架构明确指定它是 xs:date - 并且 specified format of xs:date 基本上是 ISO-8601(yyyy-MM-dd,与 UTC 有一个可选的偏移量),不是 dd/MM/yyyy。

    我强烈建议您以标准化表示形式存储数据 - 不要忘记 用户 永远不必看到它;您可以根据用户的文化解析/格式化日期,然后将其存储为 ISO-8601 格式。区分存储/通信格式和演示格式非常重要。

    【讨论】:

      猜你喜欢
      • 2010-10-24
      • 2017-01-08
      • 2012-09-24
      • 1970-01-01
      • 2012-06-26
      • 2023-01-24
      • 1970-01-01
      • 2018-01-11
      • 1970-01-01
      相关资源
      最近更新 更多