1

Java Calendar で奇妙な状況が発生しています。オブジェクトのマッピングに dozer マッパーを使用しています。

私の要件は、Calendar 型のみを受け入れる XML スキーマ要素を取得することです。

要素を言う<expDtTime>2010-11-11T09:30:47.000Z</expDtTime>

これを変換する必要があります。次のコンバーターを作成しました。

public Calender m(Date source,Calender c) {
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
calendar.setTime(source);
return calendar;
}

同じ形式で必要です。しかし、それは

<expDtTime>2010-11-11T04:00:47.000Z</expDtTime>

オブジェクトの形式と値を同じにしたい。時刻は4:00を示しています。

この問題を解決する方法はありますか?

提案や助けをいただければ幸いです。

前もって感謝します

4

1 に答える 1

0

XML dateTime を操作するには、javax.xml.datatype パッケージの XMLGregorianCalendar を使用します。

文字列からパースする

XMLGregorianCalendar xgc = DatatypeFactory.newInstance().newXMLGregorianCalendar("2010-11-11T04:00:47.000Z");
GregorianCalendar gc = xgc.toGregorianCalendar();

GregorianCalendar から変換

XMLGregorianCalendar xgc = DatatypeFactory.newInstance().newXMLGregorianCalendar(gc);

XML dateType 文字列へのフォーマット

 String xmlDate = xgc.toString();
于 2013-04-19T15:10:58.653 に答える