Format SimpleDateFormat: 'Y' vs 'y'
Kelas Java SimpleDateFormat membolehkan anda memformat tarikh dan masa menggunakan pelbagai corak. Dua corak yang mungkin kelihatan serupa, 'Y' dan 'y', sebenarnya mempunyai perbezaan halus yang boleh membawa kepada hasil yang tidak dijangka.
'Y' - Minggu Tahun
Corak 'Y' memformat tahun minggu. Setahun seminggu diselaraskan dengan kitaran WEEK_OF_YEAR, bermakna semua minggu dalam kitaran itu mempunyai nilai tahun minggu yang sama. Walau bagaimanapun, hari pertama dan terakhir dalam satu minggu tahun mungkin mempunyai tahun kalendar yang berbeza.
Sebagai contoh, jika hari pertama dalam minggu ialah Isnin dan bilangan hari minimum dalam minggu pertama ditetapkan kepada 4 ( standard ISO 8601), kemudian minggu 1 tahun 2018 bermula pada 29 Disember 2017 dan berakhir pada 4 Januari 2018. Dalam kes ini, tahun minggu untuk tiga hari terakhir tahun 2017 dianggap sebagai 2018.
'y' - Tahun
Sebaliknya, corak 'y' memformat tahun kalendar. Ia mewakili nombor tahun dalam kalendar Gregory, tanpa mengira kitaran minggu.
Perbandingan Contoh
System.out.println(new SimpleDateFormat("Y").format(new Date())); // prints 2012 System.out.println(new SimpleDateFormat("y").format(new Date())); // prints 2011
Dalam contoh ini, 'Y' mengembalikan 2012 kerana tarikh semasa adalah dalam minggu 1 2018, dan tahun minggu untuk tiga hari terakhir 2017 juga dianggap sebagai 2018. Walau bagaimanapun, 'y' mengembalikan 2011 kerana ia hanya mengambil kira tahun kalendar, iaitu 2017 untuk permulaan minggu 1.
Atas ialah kandungan terperinci Apakah Perbezaan Antara 'Y' dan 'y' dalam SimpleDateFormat Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!