我得到一个 Date 对象,我需要将其转换为 XMLGregorian Calendar 特定格式

我尝试了以下方法

String formattedDate = sdf.format(categoryData.getBulkCollectionTime()); //yyyy-MM-dd HH:mm:ss
XMLGregorianCalendar xmlCal = DatatypeFactory.newInstance().newXMLGregorianCalendar(formattedDate);
dataListType.setTimestamp(xmlCal);

我得到了一个异常(exception),我肯定在这里做错了。但是我想把Date对象格式化成指定的格式,sdf.format完美的做到了。

但是如何为相同的对象(来自 formattedDate)创建 XMLGregorianCalendar 对象?

最佳答案

您可以通过日期对象本身来完成:

String formattedDate = sdf.format(categoryData.getBulkCollectionTime()); //yyyy-MM-dd HH:mm:ss
convertStringToXmlGregorian(formattedDate);


public XMLGregorianCalendar convertStringToXmlGregorian(String dateString)
{
      try {
            Date date = sdf.parse(dateString);
            GregorianCalendar gc = (GregorianCalendar) GregorianCalendar.getInstance();
            gc.setTime(date);
            return DatatypeFactory.newInstance().newXMLGregorianCalendar(gc);
        } catch (ParseException e) {
            // Optimize exception handling
            System.out.print(e.getMessage());
            return null;
        }

}

10-08 08:25