Jawa

Format tarikh Java

Format tarikh Java
Nilai tarikh perlu diformat untuk pelbagai tujuan pengaturcaraan. Salah satu sebab penting untuk memformat tarikh adalah untuk mewakili nilai tarikh dalam format yang dapat dibaca oleh manusia. Terdapat banyak kelas di Java untuk memformat nilai tarikh. DateTimeFormatter dan SimpleDateFormat adalah dua daripadanya. Kelas-kelas ini dapat digunakan untuk memformat nilai tarikh dengan cara yang berbeza. Bagaimana kedua kelas ini dapat digunakan untuk memformat tanggal di Java dijelaskan dalam tutorial ini.

DateTimeFormatter:

Ia diperkenalkan di Java 8 untuk memformat nilai tarikh. Ia digunakan untuk memformat TimeDateTime, Waktu Tempatan Tempatan, Tarikh Tempatan, dan Waktu Tempatan. Objek DateTimeFormatter dapat dibuat dengan menggunakan corak inbuilt, pola kustom, dan gaya setempat. Beberapa kegunaan kelas ini ditunjukkan dalam tutorial ini dengan pelbagai contoh.

SimpleDateFormat:

Ini digunakan untuk memformat dan menguraikan nilai tarikh dengan sokongan tempatan. Penukaran tarikh ke rentetan dan rentetan ke tarikh dapat dilakukan dengan mudah dengan menggunakan kelas ini. Ia dibuat dengan memanjangkan Format tarikh kelas. Beberapa kegunaan kelas ini ditunjukkan dalam tutorial ini dengan pelbagai contoh.

Contoh-1: Format tarikh menggunakan DateTimeFormatter dan corak terbina dalam

Format tarikh dan masa DateTimeFormatter ditetapkan untuk yang terbina dalam corak. Nilai tarikh dan masa akan dicetak berdasarkan terbina dalam corak yang digunakan dalam kod. ISO_DATE corak digunakan dalam kod berikut yang mencetak tarikh dalam format, yyyy-mm-dd. Tarikh semasa dibaca di sini dengan menggunakan kaedah yang dinamakan sekarang () daripada Tarikh Tempatan kelas yang mengembalikan nilai tarikh yang diformat dalam rentetan.

import java.masa.format.DateTimeFormatter;
import java.masa.Tarikh Tempatan;
tarikh kelas awam2
utama kekosongan statik awam (String [] args)
// Buat objek DateTimeFormatter
DateTimeFormatter format_object = DateTimeFormatter.ISO_DATE;
// Buat objek rentetan untuk membaca tarikh tempatan
String DateObject = format_object.format (LocalDate.sekarang ());
// Cetak tarikh semasa
Sistem.keluar.println ("Hari ini" + DateObject);

Pengeluaran:

Gambar berikut menunjukkan keluaran kod di atas. Keluaran akan bergantung pada tarikh sistem semasa.

Contoh-2: Format tarikh menggunakan DateTimeFormatter dan corak tersuai

Anda boleh mencetak nilai tarikh dalam format yang lebih mudah dibaca manusia dengan menggunakan corak khusus DateTimeFormatter. Corak yang digunakan dalam contoh berikut akan mencetak hari minggu semasa dengan nilai tarikh. ofPattern () kaedah digunakan di sini untuk menetapkan corak nilai tarikh. Dalam corak, 'EEEE ' digunakan untuk mencetak hari kerja dalam bentuk penuh, 'dd ' digunakan untuk mencetak hari, 'MMMM'digunakan untuk mencetak nama bulan dalam bentuk penuh dan 'yyyy' digunakan untuk mencetak empat digit tahun. The sekarang () kaedah Waktu Tempatan Tempatan digunakan di sini untuk membaca tarikh dan masa sistem semasa. The format () kaedah digunakan untuk mengembalikan nilai tarikh yang diformat dalam rentetan berdasarkan corak.

import java.masa.format.DateTimeFormatter;
import java.masa.TempohTarikh Tempatan;
tarikh kelas awam1
utama kekosongan statik awam (String [] args)
// Buat objek formatter menggunakan ofPattern ()
DateTimeFormatter format_object = DateTimeFormatter.ofPattern ("EEEE, dd MMMM yyyy.");
// Buat objek tarikh tarikh Tempatan
LocalDateTime dateTimeObj = LocalDateTime.sekarang ();
// Dapatkan String yang diformat
String stringDate = format_object.format (dateTimeObj);
// Cetak tarikh berformat
Sistem.keluar.println ("Hari ini" + stringDate);

Pengeluaran:

Gambar berikut menunjukkan keluaran kod di atas. Keluaran akan bergantung pada tarikh sistem semasa.

Contoh-3: Format tarikh menggunakan kaedah SimpleTimeFormat dan format ()

Contoh berikut menunjukkan penggunaan SimpleTimeFormat untuk mencetak nilai tarikh dan waktu yang diformat berdasarkan corak yang digunakan. Di sini, "dd MMMM yyyy, EEEE, hh: mm a" digunakan sebagai corak dalam kod. Makna setiap bahagian corak tanpa 'hh' dan 'mm' dijelaskan dalam contoh sebelumnya. 'hh ' digunakan di sini untuk mencetak nilai jam semasa, dan 'mm'digunakan untuk mencetak nilai minit semasa. Tarikh kelas digunakan dalam kod untuk membaca tarikh dan masa sistem semasa. The format () kaedah digunakan untuk mengembalikan nilai tarikh dan waktu yang diformat dalam rentetan berdasarkan corak yang digunakan.

import java.teks.SimpleDateFormat;
import java.guna.Tarikh;
tarikh kelas awam3
utama kekosongan statik awam (String [] args)
// Tetapkan corak
Corak rentetan = "dd MMMM yyyy, EEEE, hh: mm a";
// Buat Objek SimpleDateFormat
SimpleDateFormat simpleDateFormat = SimpleDateFormat (corak) baru;
// Tukarkan tarikh ke nilai rentetan
Rentetan tarikhVal = simpleDateFormat.format (Tarikh baru ());
// Pisahkan nilai tarikh berdasarkan koma (,)
Rentetan [] hari ini_arr = dateVal.berpecah (",");
// Cetak output yang diformat
Sistem.keluar.println ("Tarikh -" + hari ini_arr [0] + "\ nHari -" + hari ini_arr [1] +
"\ nWaktu -" + hari ini_arr [2]);

Pengeluaran:

Gambar berikut menunjukkan keluaran kod di atas. Keluaran akan bergantung pada tarikh dan masa sistem semasa.

Contoh-4: Format tarikh menggunakan kaedah SimpleTimeFormat dan parse ()

Contoh berikut menunjukkan penggunaan penghuraian () kaedah untuk membaca tarikh semasa atau tarikh tertentu yang menukar nilai rentetan yang diformat menjadi nilai tarikh. Di sini, "Dd / MM / yyyy" corak digunakan untuk menetapkan tarikh tertentu untuk menghuraikan () kaedah. Nilai tarikh semasa dibaca oleh Tarikh kelas dan mengembalikan nilai sebagai rentetan. Nilai ini kembali ditukar menjadi nilai tarikh dengan menggunakan menghuraikan () kaedah. Seterusnya, nilai tarikh tertentu ditetapkan sebagai rentetan dalam kaedah parse () mengikut corak. Nilai ditukar menjadi tarikh seperti sebelumnya.

import java.teks.SimpleDateFormat;
import java.guna.Tarikh;
tarikh kelas awam4
utama kekosongan statik awam (String [] args)
// Tetapkan corak
Corak rentetan = "dd / MM / yyyy";
cuba
// Buat Objek SimpleDateFormat
SimpleDateFormat format_object = SimpleDateFormat (corak) baru;
// Tukarkan tarikh semasa ke nilai rentetan
Rentetan tarikhVal = format_objek.format (Tarikh baru ());
// Tukarkan rentetan ke nilai tarikh
Tarikh tarikh1 = format_objek.menghuraikan (dateVal);
// Cetak nilai tarikh
Sistem.keluar.println ("Tarikh semasa adalah" + tarikh1);
// Tukarkan rentetan tarikh yang ditentukan menjadi nilai tarikh
Tarikh tarikh2 = format_objek.menghurai ("16/12/2020");
// Cetak nilai tarikh
Sistem.keluar.println ("Tarikh yang ditentukan adalah" + tarikh2);

tangkapan (java.teks.ParseException e)
// Mencetak mesej ralat
Sistem.keliru.println (e.getMessage ());


Pengeluaran:

Output berikut akan muncul setelah menjalankan skrip, dan output pertama akan bergantung pada waktu sistem semasa.

Kesimpulan:

Pelbagai cara memformat nilai tarikh ditunjukkan dalam tutorial ini dengan menggunakan pelbagai kelas Java. Tutorial terutamanya memfokuskan pada pemformatan nilai tarikh. Anda boleh memformat nilai masa juga mengikut kelas yang digunakan di sini. Saya harap, tugas memformat tarikh di Java akan lebih mudah setelah membaca tutorial ini.

Tutorial OpenTTD
OpenTTD adalah salah satu permainan simulasi perniagaan yang paling popular di luar sana. Dalam permainan ini, anda perlu membuat perniagaan pengangku...
SuperTuxKart untuk Linux
SuperTuxKart adalah tajuk hebat yang direka untuk membawa anda pengalaman Mario Kart secara percuma pada sistem Linux anda. Ia cukup mencabar dan meny...
Tutorial Battle for Wesnoth
The Battle for Wesnoth adalah salah satu permainan strategi sumber terbuka paling popular yang boleh anda mainkan pada masa ini. Bukan hanya permainan...