ホームページ > Java > &#&チュートリアル > SimpleDateFormat: 「Y」が「y」とは異なる年を示すのはなぜですか?

SimpleDateFormat: 「Y」が「y」とは異なる年を示すのはなぜですか?

Barbara Streisand
リリース: 2024-12-31 06:31:09
オリジナル
268 人が閲覧しました

SimpleDateFormat: Why Does 'Y' Show a Different Year Than 'y'?

SimpleDateFormat で、「y」が 2011 を返すのに、「Y」は 2012 を返すのはなぜですか?

観察した動作 (「Y」の場合)同じ Date オブジェクトに対して 2012 を出力し、「y」は 2011 を出力します。

週年と暦年

日付の書式設定では、「Y」は週年を表します。は暦年と一致しますが、週の計算方法により異なる場合があります。週の年は、年の最初の週の日曜日に始まり、年の最後の週の土曜日に終わります。

一方、「y」は暦年を表します。 1 月 1 日に始まる伝統的なグレゴリオ暦の年。

この例では、週年の計算によれば、使用した Date オブジェクトは 2012 年の最初の週に該当しますが、最後の週の範囲内にあります。暦年の計算に基づく 2011 年の週。その結果、「Y」は 2012 (週年) を出力し、「y」は 2011 (暦年) を出力します。

この概念をさらに詳しく説明するために、次の例を考えてみましょう。

System.out.println(new SimpleDateFormat("Y").format(new Date("December 29, 1997"))); // prints 1998
System.out.println(new SimpleDateFormat("y").format(new Date("December 29, 1997"))); // prints 1997
ログイン後にコピー

この場合、日付は厳密には最後の週であっても、その週の年の最初の週に含まれるため、「Y」は 1998 と印刷されます。ただし、「y」は、指定された日付の暦年であるため、1997 年を出力します。

以上がSimpleDateFormat: 「Y」が「y」とは異なる年を示すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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