SimpleDateFormat-Formate: 'Y' vs 'y'
Mit der Java SimpleDateFormat-Klasse können Sie Datums- und Uhrzeitangaben mithilfe verschiedener Muster formatieren. Zwei Muster, die ähnlich erscheinen mögen, „Y“ und „y“, weisen tatsächlich subtile Unterschiede auf, die zu unerwarteten Ergebnissen führen können.
'Y' - Wochenjahr
Das „Y“-Muster formatiert das Wochenjahr. Ein Wochenjahr ist auf einen WEEK_OF_YEAR-Zyklus ausgerichtet, was bedeutet, dass alle Wochen innerhalb dieses Zyklus denselben Wochenjahrwert haben. Der erste und der letzte Tag eines Wochenjahres können jedoch unterschiedliche Kalenderjahre haben.
Wenn der erste Tag der Woche beispielsweise Montag ist und die Mindestanzahl von Tagen in der ersten Woche auf 4 eingestellt ist ( ISO 8601-Standard), dann beginnt Woche 1 von 2018 am 29. Dezember 2017 und endet am 4. Januar 2018. In diesem Fall die Woche des Jahres für die letzten drei Tage von 2017 gilt als 2018.
'y' - Jahr
Andererseits formatiert das 'y'-Muster das Kalenderjahr. Es stellt die Jahreszahl im gregorianischen Kalender dar, unabhängig vom Wochenzyklus.
Beispielvergleich
System.out.println(new SimpleDateFormat("Y").format(new Date())); // prints 2012 System.out.println(new SimpleDateFormat("y").format(new Date())); // prints 2011
In diesem Beispiel gibt „Y“ 2012 zurück, weil die Das aktuelle Datum liegt innerhalb der ersten Woche des Jahres 2018 und das Wochenjahr für die letzten drei Tage des Jahres 2017 wird ebenfalls als 2018 betrachtet. Allerdings ist „y“ Gibt 2011 zurück, da nur das Kalenderjahr berücksichtigt wird, also 2017 für den Beginn von Woche 1.
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen „Y' und „y' im SimpleDateFormat von Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!