0

下記のコードを使用して、下記の日付を yyyMMdd に変換しようとしています。

String dateString = "1st August 2012";
SimpleDateFormat simp_date=new SimpleDateFormat("yyyyMMdd");
    try
    {
        dateString=simp_date.format(new Date(dateString));
    }
    catch(Exception e)
    {
        e.printStackTrace();
    }

私は例外を下回っています。

IllegalArgumentException

誰かが私を助けてくれますか? 前もって感謝します。

4

4 に答える 4

3

まず第一に、Date(String)非推奨であるため、コンストラクターを使用しないでください。ここで必要なのは、最初にフォーマットを使用して日付文字列を解析してDateオブジェクトに変換し、次にそのDateオブジェクトを必要なフォーマットにフォーマットすることです。

次のコードが機能します。

String dateString = "1st August 2012";

// Format for parsing the dateString
SimpleDateFormat parser = new SimpleDateFormat("d'st' MMM yyyy");

// To format the resultant Date object to new String format
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");

try {
    dateString = formatter.format(parser.parse(dateString));

} catch(Exception e) {
    e.printStackTrace();
}

System.out.println(dateString);

JavaのAPIDateCalendar. 日付を扱うのがいかに簡単か驚くでしょう。実際、Java 8 では、JodaTime のみに基づくまったく新しい datetime API が導入されています。

于 2013-11-15T06:07:22.437 に答える
0

このコードを使用 String date = DateFormat.getDateTimeInstance(2, 2, Locale.US).format(new Date());

出力は 2013 年 11 月 15 日午後 2:06:00 になります。

于 2013-11-15T06:07:15.283 に答える