8

XMLGregorian Calendar 固有の形式に変換する必要がある Date オブジェクトを取得しています

以下の方法を試しました

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

ここで間違っていることは確かです。しかし、 Date オブジェクトを指定された形式にフォーマットしたいのですが、これは sdf.format によって完全に行われます。

しかし、同じ (formattedDate から) XMLGregorianCalendar オブジェクトを作成するにはどうすればよいでしょうか?

4

2 に答える 2

6

日付形式を修正する必要があります。

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
String date = sdf.format(new Date());
XMLGregorianCalendar xmlCal = DatatypeFactory.newInstance().newXMLGregorianCalendar(date);
于 2013-01-18T05:38:45.837 に答える
5

日付オブジェクト自体でそれを行うことができます:

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;
        } 

}
于 2013-01-18T05:36:44.787 に答える