-2

次の形式の日付があります。Thu- Mar 22 2012文字列変数date1で取得されます。文字列変数の日付を日付形式に変換する必要があります。以下のccodeを試しましたが、日付を解析できませんでした。助けてください。

DateFormat formatter;
Date formatted_date= null;


formatter = new SimpleDateFormat("EEE-MM d yyyy");
try {
        formatted_date= (Date) formatter.parse(date1);
} catch (ParseException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
4

5 に答える 5

2

「Mar」のような月の略語を解析するには、M の「MMM」が 3 つ必要です。そして、「EEE-」の後の空白を確認してください。

于 2012-05-11T07:35:32.663 に答える
1

次の形式に変更します

EEE- MMM d yyyy

-と の後のスペースに注意してくださいMMM

于 2012-05-11T07:35:28.677 に答える
0

指定されたモードとロケールのデフォルトの日付形式記号コンストラクター SimpleDateFormat に感謝します。注: このコンストラクターは、すべてのロケールをサポートしているわけではありません。すべての言語環境をカバーする

public SimpleDateFormat(String pattern,Locale locale)
   //local:Locale.ENGLISH
   //default is not English
   formatter = new SimpleDateFormat("EEE, MMM d, ''yy", Locale.ENGLISH);
   try {
        formatted_date= (Date) formatter.parse("Wed, Jul 4, '01");
   } catch (ParseException e) {
        e.printStackTrace();
}
于 2012-05-11T09:18:09.473 に答える
0
Thu- Mar 22 2012
EEE- MMM dd yyyy

このようなものが必要だと思います

UPD: 日付のフォーマット:

SimpleDateFormat toStringFormatter = new SimpleDateFormat("EEE MMM dd yyyy");
String formattedDate = toStringFormatter.format(date);

->も同様であり、parse()- >Stringも同様です。Dateformat()DateString

于 2012-05-11T07:37:15.637 に答える
0

すでに投稿された回答が機能しない場合は、ロケールに問題があることは間違いありません。以下を試してくださいSimpleDateFormat

formatter = new SimpleDateFormat("EEE- MMM d yyyy", Locale.ENGLISH);
于 2012-05-11T07:42:25.867 に答える