Active Directory の日付を解析するときに、SimpleDateFormat がすべての日付を 1 月に割り当てるのはなぜですか?

DDD
リリース: 2024-10-24 07:50:02
オリジナル
314 人が閲覧しました

Why is SimpleDateFormat Assigning All Dates to January When Parsing Active Directory Dates?

SimpleDateFormat で月が誤って表示される

日付を操作する場合、データが正確に変換されることが重要です。ただし、Java の SimpleDateFormat を使用して Active Directory (AD) から抽出された日付を解析すると、すべての日付が誤って 1 月に割り当てられるという問題が発生する可能性があります。

問題

提供されたコード スニペットでは、SimpleDateFormat は次のパターン文字列で初期化されます:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/DD");
ログイン後にコピー

このパターン文字列は、日付文字列の予期される形式を指定します: 年 (yyyy)、月 (MM)、および日 ( DD)。ただし、parsedDate 値は、AD 日付に含まれる実際の月に関係なく、一貫して月を 1 月として表示します。

解決策

問題は、の使用法にあります。パターン文字列には大文字の「MM」が含まれます。 SimpleDateFormat では、大文字の「MM」はフルネームとして月を表し、小文字の「MM」は 2 桁の数字として月を表します。

この問題を修正するには、小文字を使用するようにパターン文字列を変更する必要があります。 "MM":

SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
ログイン後にコピー

小文字の "MM" を使用すると、SimpleDateFormat は月を 2 桁の数字として正しく解析し、一貫した 1 月の問題を排除します。

以上がActive Directory の日付を解析するときに、SimpleDateFormat がすべての日付を 1 月に割り当てるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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