Walaupun dakwaan bahawa adalah mustahil untuk menghuraikan semua tarikh sewenang-wenangnya, perpustakaan Python-dateutil telah menunjukkan kehebatannya dalam mengendalikan pelbagai jenis format tarikh dengan mudah. Walau bagaimanapun, mencari setara Java dengan keupayaan serupa telah terbukti menjadi satu cabaran.
Joda Time, yang sering digembar-gemburkan sebagai pilihan yang bagus untuk penghuraian tarikh, tidak memenuhi keperluannya untuk menentukan format tarikh secara manual. Pengehadan ini menjadikannya kurang menarik bagi pengguna yang mencari penghuraian yang mudah.
Regex and Brute Force to the Rescue
Untuk menangani isu ini, pakar mencadangkan beralih kepada regex dan brute forces teknik. Dengan memadankan corak format tarikh menggunakan regex dan menguji pelbagai format berpotensi, adalah mungkin untuk mencapai tahap keteguhan yang serupa dengan Python-dateutil.
DateUtil Tersuai yang Bodoh tetapi Berkesan
Seorang pembangun berkongsi penyelesaian aneh namun praktikal dalam bentuk kelas DateUtil tersuai. Kelas ini menggunakan kamus corak format tarikh biasa yang dipautkan ke regexnya yang sepadan. Apabila dipersembahkan dengan rentetan tarikh, ia berulang melalui corak, menentukan padanan berdasarkan perbandingan regex.
Jika corak yang sepadan ditemui, kelas mengembalikan format tarikh yang sepadan, yang kemudiannya boleh digunakan untuk menghuraikan rentetan tarikh. Pendekatan bijak ini membolehkan pengguna menentukan format yang betul dan menghuraikan tarikh tanpa memerlukan spesifikasi format manual.
Keterluasan dan Penyesuaian
Pelaksanaan DateUtil yang disediakan boleh dilanjutkan dengan mudah dengan menambah corak regex baharu untuk pelbagai format tarikh. Ini membolehkan pengguna menyesuaikan kelas dengan keperluan khusus mereka.
Walaupun mungkin tidak sekomprehensif Python-dateutil, DateUtil tersuai ini menawarkan penyelesaian pragmatik untuk menghuraikan tarikh dalam format berbeza dengan tahap ketepatan yang tinggi.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencapai Penghuraian Tarikh Fleksibel dalam Java Seperti dateutil Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!