web-dev-qa-db-ja.com

2013-03-13T20:59:31 + 0000日付文字列を日付に解析する方法

この日付文字列を解析する方法2013-03-13T20:59:31 + 00 Dateオブジェクト?

私はこの方法で試してみましたが、動作しません。

DateFormat df = new SimpleDateFormat("YYYY-MM-DDThh:mm:ssTZD");
Date result =  df.parse(time);
13
Haris D.

DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ssZ");

年は小文字のyです。日付に関係のない入力にある文字(2013-03-13T20:59:31+0000の 'T'などは、''で引用符で囲む必要があります。

定義されたパターン文字のリストについては、 documentation を参照してください

解析は、指定された日付が指定した形式であることを確認します。チェック後に特定の形式で日付を印刷するには、以下を参照してください。

DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ssZ");
Date result;
try {
    result = df.parse("2013-03-13T20:59:31+0000");
    System.out.println("date:"+result); //prints date in current locale
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
    System.out.println(sdf.format(result)); //prints date in the format sdf
}
32
msam

試してください:

DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");

チェック http://developer.Android.com/reference/Java/text/SimpleDateFormat.html

具体的には:

                 yyyy-MM-dd 1969-12-31
                 yyyy-MM-dd 1970-01-01
           yyyy-MM-dd HH:mm 1969-12-31 16:00
           yyyy-MM-dd HH:mm 1970-01-01 00:00
          yyyy-MM-dd HH:mmZ 1969-12-31 16:00-0800
          yyyy-MM-dd HH:mmZ 1970-01-01 00:00+0000
   yyyy-MM-dd HH:mm:ss.SSSZ 1969-12-31 16:00:00.000-0800
   yyyy-MM-dd HH:mm:ss.SSSZ 1970-01-01 00:00:00.000+0000
 yyyy-MM-dd'T'HH:mm:ss.SSSZ 1969-12-31T16:00:00.000-0800
 yyyy-MM-dd'T'HH:mm:ss.SSSZ 1970-01-01T00:00:00.000+0000
28
Nermeen

これを試してください:

SimpleDateFormat formatDate;
formatDate= new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
3
Stefan Beike

私を助けようとしたすべての人々に感謝します...(+1)すべてのために.......

これは動作します:"yyyy-MM-dd'T'HH:mm:ss"

1
Haris D.

2017-02-08 06:23:35 +00この種類の日付形式の場合、以下の形式を使用します。

SimpleDateFormat formatDate;
formatDate= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ZZZ");

私のために働いています。他の答えは私のために働いていません。

0
SANAT