Dalam kelas SimpleDateFormat, 'Y' dan 'y' mewakili konsep yang berbeza dalam konteks tahun minggu dan tahun.
Tahun Minggu ('Y')
Setahun minggu sejajar dengan kitaran minggu dalam tahun, di mana semua minggu antara minggu pertama dan terakhir mempunyai nilai tahun minggu yang sama. Ini bermakna bahawa hari pertama dan terakhir dalam seminggu tahun mungkin mempunyai nilai tahun kalendar yang berbeza.
Tahun ('y')
Tahun ('y') mewakili tahun kalendar mengikut sistem kalendar tertentu yang digunakan.
Dalam contoh dengan syarat:
System.out.println(new SimpleDateFormat("Y").format(new Date())); // prints 2012 System.out.println(new SimpleDateFormat("y").format(new Date())); // prints 2011
'Y' mengembalikan 2012 kerana tarikh semasa adalah sebahagian daripada minggu 1 2012, walaupun tahun kalendar masih 2011. Ini disebabkan oleh konfigurasi khusus contoh SimpleDateFormat, yang mungkin dikonfigurasikan untuk mengikut piawaian ISO 8601.
'y' mengembalikan 2011 kerana ia mewakili tahun kalendar, iaitu masih 2011, tanpa mengira tahun minggu.
Oleh itu, 'Y' dan 'y' memberikan maklumat yang berbeza berdasarkan sama ada anda memerlukan tahun minggu atau tahun kalendar.
Atas ialah kandungan terperinci Mengapakah `SimpleDateFormat` Mengembalikan 2012 untuk 'Y' dan 2011 untuk 'y'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!