Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Menghuraikan Sebarang Rentetan Tarikh dengan Mudah dalam Java, Seperti dateutil Python?

Bagaimanakah Saya Boleh Menghuraikan Sebarang Rentetan Tarikh dengan Mudah dalam Java, Seperti dateutil Python?

Barbara Streisand
Barbara Streisandasal
2024-12-14 05:57:10283semak imbas

How Can I Easily Parse Any Date String in Java, Like Python's dateutil?

Menghuraikan sebarang rentetan tarikh dengan mudah dengan Java

Menghuraikan tarikh dalam Java selalunya boleh menjadi tugas yang menyusahkan, memerlukan anda menentukan format khusus secara manual daripada rentetan tarikh. Tetapi bagaimana jika anda boleh menghuraikan sebarang rentetan tarikh dengan mudah, seperti pustaka python-dateutil?

Menggunakan dateutil.parser Python, anda boleh menghuraikan pelbagai format tarikh tanpa kerumitan. Walau bagaimanapun, dalam Java, Joda Time, sering dianggap sebagai penyelesaian penghuraian tarikh yang mantap, masih memerlukan anda untuk menentukan format tarikh sebelum menghuraikan.

Mencari Penyelesaian Java yang Setanding

Untuk menangani perkara ini, anda boleh menggunakan pendekatan kekerasan atau menggunakan ungkapan biasa untuk memadankan corak format tarikh. Satu contoh yang ketara ialah kelas DateUtil:

private static final Map<String, String> DATE_FORMAT_REGEXPS = new HashMap<>() {{
    put("^\d{8}$", "yyyyMMdd");
    put("^\d{1,2}-\d{1,2}-\d{4}$", "dd-MM-yyyy");
    ...
}};

public static String determineDateFormat(String dateString) {
    for (String regexp : DATE_FORMAT_REGEXPS.keySet()) {
        if (dateString.toLowerCase().matches(regexp)) {
            return DATE_FORMAT_REGEXPS.get(regexp);
        }
    }
    return null; // Unknown format.
}

Kelas ini menyediakan senarai besar ungkapan biasa dan corak SimpleDateFormat yang sepadan untuk format tarikh yang paling biasa. Dengan memanfaatkan pendekatan ini, anda boleh menentukan format tarikh yang sesuai dan menghuraikan dengan sewajarnya.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghuraikan Sebarang Rentetan Tarikh dengan Mudah dalam Java, Seperti dateutil Python?. 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