3

のコンストラクター"Sat May 12 04:46:05 EDT 2012"によって現在解析されているように見えるコードがいくつかあります。ただし、IDE には非推奨であり、JavaDoc には次のように記載されているため、IDE で警告が表示されます。java.util.DateDate(String s)

非推奨。JDK バージョン 1.1 以降、DateFormat.parse(String s) に置き換えられました。

使ってみSimpleDateFormatterたのですが、デフォルトのフォーマッタでは例外が発生するので、パターンを使ってみたいのですが、String コンストラクタのように解析するパターンは何ですか?


注意: これは他の同様の質問とは異なります。これは、任意の日付文字列を解析するための支援を求めるだけでなく、非推奨の (そして人気のある) コンストラクターの置き換えについて具体的に尋ねているためです。

4

1 に答える 1

3

パターンはEEE MMM d hh:mm:ss zzz YYYY、 を使用して構築できるようになっていますnew SimpleDateFormat("EEE MMM d hh:mm:ss zzz YYYY")

だからコードのように

Date d = new Date( "Sat May 12 04:46:05 EDT 2012" );

次のように書き換えることができます。

DateFormat df = new SimpleDateFormat( "EEE MMM d hh:mm:ss z YYYY" );
Date d = df.parse( "Sat May 12 04:46:05 EDT 2012" );

編集:java.util.Date.parse(String s) JavaDocから、このメソッドは、遭遇するすべての呼び出しに対して単一accepts many syntaxes;の一致パターンが存在しないことがわかります。のドキュメントを使用して、特定のパターンをいじる必要がある場合があります。java.text.SimpleDateFormat

于 2013-01-16T19:53:42.537 に答える