3

XML から DateTime を取得すると、XMLGregorianCalendar になります。

2010-12-02T10:00:00

次のような文字列を作成するよりも:

2010-12-02 10:00:00

しかし、次の方法で実行可能な DateTime (joda.datetime) に解析しようとすると:

DateTimeFormatter formatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
DateTime dt = formatter.parseDateTime("2010-12-02 10:00:00");

それはこれを返します:

2010-12-02T10:00:00.000+01:00

使用できるように、DateTime としてではなく String のように見せたいところ....

4

2 に答える 2

2

これを行う正しい方法は、文字列から作成する方法を提供するクラスを使用することjavax.xml.bind.DatatypeConverterです。必要に応じて、それを Joda 時間に簡単に変換できます。java.util.Datejava.util.Calendar

DatatypeConverter ドキュメント: http://jaxb.java.net/nonav/2.2.4/docs/api/javax/xml/bind/DatatypeConverter.html

于 2013-03-18T11:49:55.443 に答える
1

あなたが戻ってきた日付文字列は基本的にdt.toString()

作成したフォーマッターを使用して日付をフォーマットする必要があります。そうしないと、フォーマットに関連性​​がなくなります。これを試して:

System.out.println(formatter.print(dt));

フォーマッタを使用して日付を設定すると、文字列を解析するために定義した形式が純粋に使用されます...これは DateTime オブジェクトには影響しないため、文字列に変換するときにフォーマッタを使用する必要があります

于 2013-03-18T11:47:36.920 に答える