java – 用于XMLGregorianCalendar类型的Joda DateTime格式

前端之家收集整理的这篇文章主要介绍了java – 用于XMLGregorianCalendar类型的Joda DateTime格式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用JAXB 2.2.8-b01 impl,我有一个模式,它有一个xs:date元素,它创建一个 XMLGregorianCalendar实例.我试图获得 Joda-Time DateTime时间戳格式,但由于我必须有一个XMLGregorianCalendar实例,我不知道它是否可能.有任何想法吗?

架构XSD:

<xs:element type="xs:date" name="date-archived" minOccurs="0" maxOccurs="1" nillable="false"/>

JAXB生成属性

XmlSchemaType(name = "date")
    protected XMLGregorianCalendar date;

XML转换类:

//java.util.Date正在传递

private XMLGregorianCalendar converToGregorianCal(Date date) {
        DatatypeFactory df = null;
        try {
          df = DatatypeFactory.newInstance();
        } catch (DatatypeConfigurationException e) {
          LOG.error("error getting DatatypeFactory instance " + e.getMessage()); 
        }
        if (date == null) {
          return null;
        } else {
          GregorianCalendar gc = new GregorianCalendar();
          gc.setTimeInMillis(date.getTime());
          return df.newXMLGregorianCalendar(gc);
        }
      }

解决方法

这是一个简短的方法
public DateTime convert(final XMLGregorianCalendar xmlgc) {
    return new DateTime(xmlgc.toGregorianCalendar().getTime());
}

猜你在找的Java相关文章