0

SimpleDateFormat を使用して UTC 日付文字列を解析していますが、前の日付として解析されます。

DateFormat df = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z");

この文字列「Fri, 06 Apr 2012 04:00:00 GMT」は、2012 年 4 月 5 日として解析されています。なんで?ありがとう。

4

2 に答える 2

0

以下は日付変換の例です...

あなたのプログラムについては、それに応じて変更を加え、得られる出力を教えてください。

    String dateStr = "Thu Jan 19 2012 01:00 PM";
    DateFormat readFormat = new SimpleDateFormat( "EEE MMM dd yyyy hh:mm aaa");

    DateFormat writeFormat = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss");
    Date date = null;
    try {
       date = readFormat.parse( dateStr );
    } catch ( ParseException e ) {
        e.printStackTrace();
    }

    String formattedDate = "";
    if( date != null ) {
    formattedDate = writeFormat.format( date );
    }

    System.out.println(formattedDate);

出力は2012-01-19 13:00:00

期待する出力に従って変更を行います。

于 2012-05-17T14:15:54.453 に答える
0

JDK 1.5.0_22 (linux) に注意してください。誤った日付を生成します。JDK 1.6 に切り替えて問題が解決しました。

于 2012-07-05T14:51:18.267 に答える