26

XMLGregorianCalendar オブジェクトを 'MM/dd/yyyy hh:mm' 文字列に変換する最良の方法は何ですか?

4

5 に答える 5

43

最初にインスタンスXMLGregorianCalendar#toGregorianCalendar()を取得するために使用します。java.util.Calendar

Calendar calendar = xmlGregorianCalendar.toGregorianCalendar();

SimpleDateFormatそのステップから、通常の方法の少しの助けを借りて、それはすべて明白です。

SimpleDateFormat formatter = new SimpleDateFormat("MM/dd/yyyy hh:mm");
formatter.setTimeZone(calendar.getTimeZone());
String dateString = formatter.format(calendar.getTime());

am / pmマーカーをどこにもフォーマットしていないので、HH代わりに実際に使用したくないのではないかと思います。hh

于 2013-02-04T14:16:09.893 に答える
9

toGregorianCalendar()これにはメソッドを使用できます 。

例えば:

SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy hh:mm");
String date = sdf.format(xmlGregorianCalendar.toGregorianCalendar().getTime());

そのカレンダーを別の TimeZone と Locale に変換する必要がある場合は、toGregorianCalendar(TimeZone timezone, Locale aLocale, XMLGregorianCalendar defaults)

于 2013-02-04T14:22:25.640 に答える
1

これはあなたが探している例です:

XMLGregorianCalendar date = ...; // initialization is out of scope for this example
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy hh:mm");
GregorianCalendar gc = date.toGregorianCalendar();
String formatted_string = sdf.format(gc.getTime());
于 2013-02-04T14:17:33.640 に答える
0

この例では、XMLGregorianCalendar を日付に変換します

XMLGregorianCalendar xmlCalendar = DatatypeFactory.newInstance().newXMLGregorianCalendar(new GregorianCalendar());
Date date = xmlCalendar.toGregorianCalendar().getTime();

この例では、日付を文字列に変換します

DateFormat df = new SimpleDateFormat("MM/dd/yyyy hh:mm");
String dateStr = df.format(GregorianCalendar.getInstance().getTime());
于 2016-10-06T14:31:52.133 に答える