0

私はこれを文字列にしています:-

   Tue Oct 30 13:22:58 GMT+05:30 2012;

SimpleDateFormateから時間と日付を分割したい:-

DateFormat f = new SimpleDateFormat("EEE,MM/dd/yyyy hh:mm:ss);
Date d = f.parse(my string);
DateFormat date = new SimpleDateFormat("MM/dd/yyyy");
DateFormat time = new SimpleDateFormat("hh:mm:ss a");
System.out.println("Date: " + date.format(d));
System.out.println("Time: " + time.format(d));

このエラーが発生します:-

 java.text.ParseException: Unparseable date: "Tue Oct 30 13:22:58 GMT+05:30 2012"

何が問題なのか教えてください。ありがとう、ディーパンカー

4

3 に答える 3

1

タイムスタンプ文字列がパターンと一致しません:

Tue Oct 30 13:22:58 GMT+05:30 2012

(SimpleDataFormat初期化行の構文エラーは言うまでもなく)次のような方法ではありません。

EEE,MM/dd/yyyy hh:mm:ss

したがって、パターンマッチングの入力データを作成する必要があります。SimpleDateFormatでサポートされているすべてのフィールドについて、ここで説明します

于 2012-10-30T14:51:23.470 に答える
0

日付は正しいですか?解析しようとしたので、をGMT+05:30 削除するだけでエラーが発生し:30、機能します。ここを参照してください。

String time = "Tue Oct 30 13:22:58 GMT+05 2012";
long f=Date.parse(time);
System.out.println("Time:" + f);
于 2012-10-30T14:59:41.023 に答える
0

現状では、タイムゾーンオフセットはRFC 822標準と一致していないため、最初にクレンジングを実行せずに日付を直接解析することはできないと思います。

オフセットが必要な場合、文字列は次のようになります。

Tue Oct 30 13:22:58 +0530 2012

「GMT」はなく、オフセット内にコロンがないことに注意してください。対応するパターンは次のとおりです。

new SimpleDateFormat("EEE MMM dd HH:mm:ss Z yyyy")

または、タイムゾーンを指定することもできます。

Tue Oct 30 13:22:58 IST 2012

パターンは次のとおりです。

new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy")
于 2012-10-30T15:53:29.577 に答える