ホームページ > Java > &#&チュートリアル > 「MM」の代わりに「mm」を使用すると、SimpleDateFormat の解析が失敗するのはなぜですか?

「MM」の代わりに「mm」を使用すると、SimpleDateFormat の解析が失敗するのはなぜですか?

Patricia Arquette
リリース: 2024-12-14 20:23:11
オリジナル
330 人が閲覧しました

Why Does My SimpleDateFormat Parse Fail When Using

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート