5

私は現在SimpleDateFormat、フォーマットで日時値を作成するために使用していますyyyy-MM-dd HH:mm:ss。これが私のコードです:

     Date date = new SimpleDateFormat("yy-M-d H:m:ss").parse(datetime);
     String Dtime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);

ただし、代わりにフォーマットを次のようにしたいと思います。

  2013-04-12T13:38:48+02:00

タイムゾーンを追加して目的の形式を取得するにはどうすればよいですか?

ありがとうございました!

4

6 に答える 6

12

SimpleDateFormatの API ドキュメントをご覧ください。タイムゾーン情報に文字「z」を使用できることがわかります。

例: "yyyy.MM.dd G 'at' HH:mm:ss z" は、"2001.07.04 AD at 12:08:56 PDT" になります。

日付にタイムゾーンを設定するには、この質問と回答をご覧ください。

于 2013-04-12T11:45:48.297 に答える
4

これは、XML/XSD の dateTime データ型の形式です。javax.xml.datatype.XMLGregorianCalendar を使用する

    XMLGregorianCalendar gc = DatatypeFactory.newInstance().newXMLGregorianCalendar("2013-04-12T13:38:48+02:00");
    System.out.println(gc);

出力

2013-04-12T13:38:48+02:00
于 2013-04-12T11:49:12.643 に答える
-1

パッケージで簡単に実現java.util.Calendar

次のコードを試してください

       import java.util.Calendar; //Import package

        String month_order[]={"Select...","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
        Calendar cal = Calendar.getInstance();
        int month = cal.get(Calendar.MONTH) + 1;
        int dom = cal.get(Calendar.DAY_OF_MONTH);
        int doy=cal.get(Calendar.YEAR);
        System.out.println("Current date: "+month_order[month]);
        System.out.println("Current Month:  "+dom);
        System.out.println("Current year: "+doy);
于 2013-04-12T11:52:34.973 に答える