SimpleDateFormat を使用した日付形式の文字列の解析
SimpleDateFormat を使用して日付文字列を解析する場合、正しい日付と時刻のパターンに従うことが重要です。よくある落とし穴は、月の代わりに「MM」の代わりに「mm」を使用することです。
次のコードを考えてみましょう:
SimpleDateFormat sf = new SimpleDateFormat("yyyy-mm-dd'T'HH:mm:ss"); String str = "2010-06-13T00:00:00"; Date date = sf.parse(str); System.out.println(" Date " + date.toString());
ここでは、文字列「2010-06」を解析するつもりです。 -13T00:00:00」を 2010 年 6 月 13 日とします。ただし、出力には「水曜日 1 月 13 日」と表示されます。代わりに、00:00:00 EST 2010」となります。これは、SimpleDateFormat オブジェクトで指定された日付形式で月を表すのに「mm」が使用されるために発生します。
この問題を解決するには、月を示すために「mm」を「MM」に置き換える必要があります。以下の修正されたコード:
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); ...
この修正により、コードは入力文字列を「Wed Jun 13 00:00:00 EST 2010」として正しく解析します。 SimpleDateFormat パターンの大文字の「MM」は月を表し、「mm」は分を表すことに注意してください。
以上が「MM」の代わりに「mm」を使用すると、SimpleDateFormat の解析が失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。