Menghuraikan Tarikh dalam Pelbagai Format dengan SimpleDateFormat
Apabila menghuraikan tarikh daripada input pengguna, adalah perkara biasa untuk menemui format yang berbeza-beza. Mengendalikan variasi ini boleh menjadi mencabar, terutamanya dengan mengambil kira peraturan keutamaan SimpleDateFormat.
Untuk menangani perkara ini, gunakan objek SimpleDateFormat yang berasingan untuk setiap format unik. Walaupun ini mungkin kelihatan memerlukan pertindihan kod yang berlebihan, fleksibiliti peraturan pemformatan nombor SimpleDateFormat membolehkan pendekatan yang lebih ringkas.
Sebagai contoh, pertimbangkan tarikh berikut format:
Ini boleh dikumpulkan kepada tiga kategori:
Kaedah berikut menunjukkan contoh pelaksanaan:
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Date; public class DateParser { private static List<String> FORMAT_STRINGS = Arrays.asList("M/y", "M/d/y", "M-d-y"); public static Date parse(String dateString) { for (String formatString : FORMAT_STRINGS) { try { return new SimpleDateFormat(formatString).parse(dateString); } catch (ParseException e) { // Ignore parse exceptions and continue to the next format } } return null; // If no formats match, return null } }
Dengan cara ini, anda boleh mengendalikan pelbagai format tarikh tanpa memerlukan blok cubaan/tangkap bersarang yang berlebihan atau penduaan kod.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghuraikan Tarikh dengan Berbilang Format Dengan Cekap Menggunakan SimpleDateFormat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!