Java SimpleDateFormat が一貫して 1 月を返すのはなぜですか?

Barbara Streisand
リリース: 2024-10-24 07:57:30
オリジナル
204 人が閲覧しました

Why Is Java SimpleDateFormat Consistently Returning January for Month?

Java SimpleDateFormat は一貫して 1 月の 1 月を返します

Active Directory の日付を Java の日付に変換しようとすると、結果には一貫して入力文字列で正しい月が指定されているにもかかわらず、月が 1 月として表示されます。この問題は、SimpleDateFormat で使用される日付形式の誤解に起因します。

変換の原因となっている問題のあるメソッドは次のとおりです。

<code class="java">private Date getParsedDate(String givenString) {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/DD");
    Date parsedDate = sdf.parse(givenString);
    return parsedDate;
}</code>
ログイン後にコピー

このメソッドでは、SimpleDateFormat はパターン「yyyy/MM/DD」。それぞれ年、月、日を表します。ただし、Active Directory からの入力文字列は、「yyyyMMddHHmmss.SSS」という別の形式に従います。問題のある部分は月の表現で、大文字の「MM」ではなく小文字の「mm」を使用する必要があります。

この問題を解決するには、SimpleDateFormat コンストラクターのパターン文字列を「yyyy/mm/dd」に変更する必要があります。 ":

<code class="java">SimpleDateFormat sdf = new SimpleDateFormat("yyyy/mm/dd");</code>
ログイン後にコピー

この変更により、Java SimpleDateFormat は、givenString を正しい月の値を持つ Java Date オブジェクトに正しく変換します。

以上がJava SimpleDateFormat が一貫して 1 月を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!