Rumah > Java > javaTutorial > Apakah perbezaan antara 'kk:mm', 'HH:mm', dan 'hh:mm' dalam SimpleDateFormat Java?

Apakah perbezaan antara 'kk:mm', 'HH:mm', dan 'hh:mm' dalam SimpleDateFormat Java?

Susan Sarandon
Lepaskan: 2024-11-09 12:08:02
asal
915 orang telah melayarinya

What is the difference between

Memahami nuansa kk:mm, HH:mm, dan hh:mm dalam SimpleDateFormat

Apabila menggunakan SimpleDateFormat Java untuk memanipulasi tarikh dan masa, adalah penting untuk membezakan perbezaan yang ketara antara penentu format "kk:mm," "HH:mm" dan "hh:mm". Mari kita mendalami setiap format ini:

  • "kk:mm": format 24 jam (01-24)

Format ini mewakili masa dalam format 24 jam, dengan nilai jam antara 01 hingga 24. Contohnya, 01:00 mewakili 1:00 PG, manakala 24:00 mewakili tengah malam.

  • "HH :mm": Format 24 jam (00-23)

Serupa dengan "kk:mm," "HH:mm" mewakili masa dalam format 24 jam. Walau bagaimanapun, nilai jam yang dibenarkan berjulat dari 00 hingga 23, bermakna tiada perwakilan "24:00". Sebaliknya, tengah malam diwakili sebagai 00:00.

  • "hh:mm": format 12 jam (01-12 dalam PG/PM)

Format ini menggunakan jam 12 jam dengan penunjuk AM/PM. Nilai jam berjulat dari 01 hingga 12, dengan 01 mewakili 1:00 PG dan 12 mewakili 12:00 PM.

Contoh

Untuk menggambarkan perbezaan ini, pertimbangkan perkara berikut coretan kod:

SimpleDateFormat broken = new SimpleDateFormat("kk:mm:ss");
SimpleDateFormat working = new SimpleDateFormat("HH:mm:ss");
SimpleDateFormat working2 = new SimpleDateFormat("hh:mm:ss");

broken.setTimeZone(TimeZone.getTimeZone("Etc/UTC"));
working.setTimeZone(TimeZone.getTimeZone("Etc/UTC"));

System.out.println(broken.format(epoch));
System.out.println(working.format(epoch));
System.out.println(working2.format(epoch));
Salin selepas log masuk

Output:

24:00:00
00:00:00
05:30:00
Salin selepas log masuk

Seperti yang anda boleh perhatikan, "kk:mm" mengembalikan masa dalam format 24 jam dengan nilai 24:00:00. "HH:mm" memformat masa dengan betul sebagai 00:00:00 kerana tiada perwakilan 24:00 dalam jam 24 jam. Walau bagaimanapun, "hh:mm" menghasilkan keputusan yang tidak dijangka pada 05:30:00. Ini kerana format "hh:mm" menentukan jam 12 jam dan memandangkan masa yang betul ialah 00:00 UTC, perwakilan 12 jam yang setara ialah 12:00 AM. Walau bagaimanapun, kod tersebut tidak menetapkan zon waktu untuk "working2", yang mengakibatkan penggunaan zon waktu sistem lalai. Dalam kes ini, zon waktu sistem mungkin tidak sejajar dengan UTC, membawa kepada hasil yang salah.

Atas ialah kandungan terperinci Apakah perbezaan antara 'kk:mm', 'HH:mm', dan 'hh:mm' dalam SimpleDateFormat Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan