Maison > Java > javaDidacticiel > SimpleDateFormat : Pourquoi « Y » affiche-t-il une année différente de « y » ?

SimpleDateFormat : Pourquoi « Y » affiche-t-il une année différente de « y » ?

Barbara Streisand
Libérer: 2024-12-31 06:31:09
original
268 Les gens l'ont consulté

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

Dans SimpleDateFormat, pourquoi « Y » renvoie-t-il 2012 alors que « y » renvoie 2011 ?

Le comportement que vous avez observé, où « Y » imprime 2012 et 'y' imprime 2011 pour le même objet Date, est dû à la distinction subtile entre le année de la semaine et année civile.

Année de la semaine par rapport à l'année civile

Dans le formatage de la date, « Y » représente l'année de la semaine, qui est alignée sur l'année civile , mais peut parfois être différent en raison de la manière dont les semaines sont calculées. La semaine année commence le dimanche de la première semaine de l'année, et se termine le samedi de la dernière semaine de l'année.

Par contre, 'y' représente l'année civile, qui est la année civile grégorienne traditionnelle qui commence le 1er janvier.

Dans votre exemple, l'objet Date que vous avez utilisé se situe dans la première semaine de 2012 selon le calcul de la semaine et de l'année, mais il tombe dans la dernière semaine de 2011 selon le calcul de l'année civile. Par conséquent, « Y » imprime 2012 (l'année de la semaine) et « y » imprime 2011 (l'année civile).

Pour illustrer davantage ce concept, considérons l'exemple suivant :

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
Copier après la connexion

Dans ce cas, « Y » imprime 1998 car la date tombe dans la première semaine de cette semaine-année, même si c'est techniquement la dernière semaine de 1997. Cependant, 'y' imprime 1997 car c'est l'année civile pour la date donnée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal