Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Menghuraikan Tarikh dengan Berbilang Format Dengan Cekap Menggunakan SimpleDateFormat?

Bagaimanakah Saya Boleh Menghuraikan Tarikh dengan Berbilang Format Dengan Cekap Menggunakan SimpleDateFormat?

Susan Sarandon
Susan Sarandonasal
2024-12-23 16:03:17854semak imbas

How Can I Efficiently Parse Dates with Multiple Formats Using SimpleDateFormat?

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:

  • 9/09
  • 9/2009
  • 09/2009
  • 9/1/2009
  • 9 -1-2009

Ini boleh dikumpulkan kepada tiga kategori:

  • M/y (meliputi tiga yang pertama)
  • M/h/y (mewakili yang keempat)
  • M-d-y (untuk yang kelima)

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!

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