Rumah >Java >javaTutorial >Apakah perbezaan antara 'kk:mm', 'HH:mm' dan 'hh:mm' dalam SimpleDateFormat?
Penentukan Format Jam dalam SimpleDateFormat
Apabila menggunakan SimpleDateFormat untuk memformat nilai masa, adalah penting untuk memahami perbezaan antara penentu format jam kk: mm, HH:mm dan hh:mm.
kk:mm
Penentukan kk mewakili jam pada skala 24 jam, antara 01 hingga 24. Sebagai contoh, 24:00:00 menunjukkan tengah malam.
HH:mm
Tidak seperti kk, HH menentukan jam pada skala 24 jam dari 00 hingga 23. 00 :00:00 menandakan tengah malam.
hh:mm
Penentukan hh memaparkan jam pada skala 12 jam, menggunakan 01 hingga 12 bersamaan dengan AM/PM . Oleh itu, 12:00:00 AM atau 12:00:00 PM akan mewakili tengah hari.
Pertimbangkan kod Java berikut:
SimpleDateFormat broken = new SimpleDateFormat("kk:mm:ss"); broken.setTimeZone(TimeZone.getTimeZone("Etc/UTC")); SimpleDateFormat working = new SimpleDateFormat("HH:mm:ss"); working.setTimeZone(TimeZone.getTimeZone("Etc/UTC")); SimpleDateFormat working2 = new SimpleDateFormat("hh:mm:ss"); working.setTimeZone(TimeZone.getTimeZone("Etc/UTC")); System.out.println(broken.format(epoch)); System.out.println(working.format(epoch)); System.out.println(working2.format(epoch));
Kod ini mencetak output berikut:
24:00:00 00:00:00 05:30:00
Percanggahan dalam output working2 adalah kerana kod menetapkan zon waktu working2 tetapi bukan formatnya. Akibatnya, ia tersalah memaparkan 05:30:00 PG atau PTG, sedangkan ia sepatutnya mengeluarkan 12:00:00 PG.
Atas ialah kandungan terperinci Apakah perbezaan antara 'kk:mm', 'HH:mm' dan 'hh:mm' dalam SimpleDateFormat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!