ホームページ > Java > &#&チュートリアル > SimpleDateFormat が「YYYY-MM-dd HH:mm」形式の日付を誤って解析するのはなぜですか?この問題はどのように解決できますか?

SimpleDateFormat が「YYYY-MM-dd HH:mm」形式の日付を誤って解析するのはなぜですか?この問題はどのように解決できますか?

Mary-Kate Olsen
リリース: 2024-11-03 00:07:30
オリジナル
940 人が閲覧しました

Why Does SimpleDateFormat Incorrectly Parse Dates in the

SimpleDateFormat を使用した「YYYY-MM-dd HH:mm」形式の日付と時刻の解析

問題の概要:

SimpleDateFormat を使用して「YYYY-MM-dd HH:mm」形式の文字列を解析しようとすると、誤った日付と時刻の結果が表示される可能性があります。具体的には、解析された日付が予想される日付と一致しない可能性があります。

質問:

SimpleDateFormat が「YYYY-MM-dd HH:mm」の日付を誤って解析するのはなぜですか形式?この問題はどのように解決できますか?

回答:

SimpleDateFormat は、大文字と小文字を区別するパターン文字を使用して入力文字列を解析します。年の形式では、「YYYY」は先頭にゼロを付けた完全な年を表し、小文字の「yyyy」は先頭にゼロを付けずに年を表します。提供されたコードでは、パターン文字「YYYY」が誤って使用されており、予期しない日付解析が行われました。

解決策:

日付と時刻を正しく解析するには、次を使用します。パターン内の小文字の「yyyy」:

<code class="java">SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.ENGLISH);</code>
ログイン後にコピー

この修正により、コードは問題なく予想される形式で日付を解析します。

追加の考慮事項:

SimpleDateFormat を使用する場合は、パターン文字を注意深くチェックして、目的の形式と一致していることを確認してください。パターン文字とそれに対応する日付/時刻形式の完全なリストについては、Java API ドキュメントを参照してください。

データベース更新:

時間がリセットされる問題について00:00 データベース内の日付を更新する場合は、データベース列のデータ型と Java 日付オブジェクトの時刻コンポーネントに互換性があることを確認してください。データベース列に日付のみが格納されている場合、Java オブジェクトの時刻コンポーネントは挿入時に無視されます。

以上がSimpleDateFormat が「YYYY-MM-dd HH:mm」形式の日付を誤って解析するのはなぜですか?この問題はどのように解決できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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