Formats SimpleDateFormat : 'Y' vs 'y'
La classe Java SimpleDateFormat vous permet de formater les dates et les heures en utilisant divers modèles. Deux modèles qui peuvent sembler similaires, « Y » et « y », présentent en réalité des différences subtiles qui peuvent conduire à des résultats inattendus.
'Y' - Semaine Année
Le motif « Y » formate l'année de la semaine. Une semaine-année est alignée sur un cycle WEEK_OF_YEAR, ce qui signifie que toutes les semaines de ce cycle ont la même valeur de semaine-année. Cependant, le premier et le dernier jour d'une semaine d'année peuvent avoir des années civiles différentes.
Par exemple, si le premier jour de la semaine est lundi et que le nombre minimum de jours dans la première semaine est fixé à 4 ( norme ISO 8601), puis la semaine 1 de 2018 commence le 29 décembre 2017 et se termine le 4 janvier 2018. Dans ce cas, la semaine année des trois derniers jours de 2017 est considéré comme 2018.
'y' - Année
D'autre part, le motif 'y' formate l'année civile. Il représente le numéro de l'année dans le calendrier grégorien, quel que soit le cycle hebdomadaire.
Comparaison d'échantillons
System.out.println(new SimpleDateFormat("Y").format(new Date())); // prints 2012 System.out.println(new SimpleDateFormat("y").format(new Date())); // prints 2011
Dans cet exemple, « Y » renvoie 2012 car le la date actuelle se situe dans la semaine 1 de 2018, et l'année de la semaine pour les trois derniers jours de 2017 est également considérée comme 2018. Cependant, 'y' renvoie 2011 car il ne prend en compte que l'année civile, soit 2017 pour le début de la semaine 1.
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!