Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Mengesahkan Tarikh dengan Berkesan di Java Tanpa Menggunakan Kaedah Dihentikan?
Mengesahkan Tarikh di Java: Menyahsangkal Pendekatan Dihentikan
Amalan Java yang pernah menjadi kebiasaan mencipta objek Date menggunakan kelas Date telah menjadi lapuk. Ini telah menyebabkan pembangun memikirkan kaedah terbaik untuk mengesahkan kesahihan tarikh yang dinyatakan sebagai gabungan hari, bulan dan tahun. Ambil contoh "2008-02-31," yang merupakan tarikh yang kelihatan tidak sah.
Penyelesaian yang Mudah dan Berkesan
Untuk menangani cabaran ini, satu cara yang sangat mudah penyelesaian wujud. Dengan menggunakan kelas SimpleDateFormat bersama-sama dengan kaedah setLenient ditetapkan kepada palsu, anda memperoleh keupayaan untuk meneliti tarikh dengan teliti untuk kesahihannya.
Pelaksanaan
Kod Java berikut coretan menunjukkan aplikasi pendekatan ini:
import java.text.ParseException; import java.text.SimpleDateFormat; public class DateValidation { public static void main(String[] args) { String date = "2008-02-31"; SimpleDateFormat df = new SimpleDateFormat("dd-MM-yyyy"); df.setLenient(false); try { df.parse(date); System.out.println("Valid date"); } catch (ParseException e) { System.out.println("Invalid date"); } } }
Oleh menetapkan bendera longgar kepada palsu, kaedah parse akan mematuhi format tarikh yang dipratentukan dengan ketat. Sebarang sisihan daripada tarikh yang sah, seperti "2008-02-31," akan menghasilkan pengecualian ParseException.
Walaupun pendekatan ini menyediakan kaedah pengesahan tarikh yang mudah, pendekatan ini mungkin tidak sesuai untuk semua senario. Untuk keperluan pengendalian dan pengesahan tarikh yang lebih komprehensif, pertimbangkan untuk meneroka perpustakaan alternatif seperti Joda-Time atau Time API yang lebih baharu yang diperkenalkan dalam Java 8.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesahkan Tarikh dengan Berkesan di Java Tanpa Menggunakan Kaedah Dihentikan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!