Rumah >Java >javaTutorial >Bagaimana untuk Menukar Tarikh Kalendar dengan betul kepada Format 'yyyy-MM-dd' dalam Java?

Bagaimana untuk Menukar Tarikh Kalendar dengan betul kepada Format 'yyyy-MM-dd' dalam Java?

Barbara Streisand
Barbara Streisandasal
2024-12-18 02:53:09232semak imbas

How to Correctly Convert a Calendar Date to

Tukar Tarikh Kalendar kepada Format "yyyy-MM-dd" dalam Java

Di Java, menukar tarikh kalendar kepada "yyyy- Format MM-dd" ialah tugas penting untuk pelbagai aplikasi.

Salah Pendekatan:

Menggunakan kelas SimpleDateFormat dengan corak "yyyy-MM-dd" pada objek Tarikh yang diperoleh daripada Kalendar mungkin tidak selalu menghasilkan hasil yang diingini. Sebagai contoh, coretan kod berikut akan menghasilkan "Rabu 26 Sep 00:00:00 IST 2012" dan bukannya "2012-09-26":

Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, 1);
Date date = cal.getTime();             
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
String date1 = format1.format(date);  

Pendekatan Betul:

Untuk menukar tarikh kalendar kepada format "yyyy-MM-dd" dengan betul, anda perlu memahami perbezaan antara Date dan LocalDateTime.

Java 8 :

Dalam Java 8 dan kemudian, anda boleh menggunakan kelas LocalDateTime, yang mewakili tarikh dan masa tanpa zon waktu.

LocalDateTime ldt = LocalDateTime.now().plusDays(1);
DateTimeFormatter formmat1 = DateTimeFormatter.ofPattern("yyyy-MM-dd", Locale.ENGLISH);
String formatter = formmat1.format(ldt);
System.out.println(formatter);

Sebelum Java 8:

Jika anda menggunakan versi Java sebelum 8, anda harus mempertimbangkan untuk menggunakan perpustakaan ThreeTen Backport.

Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, 1);
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
String formatted = format1.format(cal.getTime());

Ingat, manakala kod di atas pada mulanya menghasilkan yang diingini rentetan "2012-09-26," menghuraikannya kembali ke dalam Tarikh akan menghasilkan "Rabu Sep 26 00:00:00 EST 2012." Ini kerana Tarikh mewakili bilangan milisaat sejak titik masa tetap dan memformatkannya hanya mengubah suai perwakilan rentetannya.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Tarikh Kalendar dengan betul kepada Format 'yyyy-MM-dd' dalam Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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