Heim >Java >javaLernprogramm >Wie kann ich variable Datumsformate (z. B. 09.09., 01.09.2009, 01.09.2009) in Java effizient analysieren?

Wie kann ich variable Datumsformate (z. B. 09.09., 01.09.2009, 01.09.2009) in Java effizient analysieren?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-12 18:53:10638Durchsuche

How Can I Parse Variable Date Formats (e.g., 9/09, 9/1/2009, 9-1-2009) Efficiently in Java?

Variable Datumsformate mit SimpleDateFormat analysieren

Wenn Sie mit einem Szenario konfrontiert sind, in dem Datumsangaben in inkonsistenten Formaten eingegeben werden, kann SimpleDateFormat für eine effiziente Analyse verwendet werden.

Um dem Gegebenen gerecht zu werden Formate:

  • 9/09, 9/2009, 09/2009: Ein Muster von „M/J“-Aufnahmen Diese Variationen, wobei „M“ den Monat und „y“ den Monat darstellt Jahr.
  • 01.09.2009: Für Datumsangaben mit einer Tageskomponente sollte ein Muster von „M/d/y“ verwendet werden, wobei „d“ zusätzlich den Tag darstellt.
  • 9-1-2009: Ein ähnliches Muster, „M-d-y“, eignet sich für Datumsangaben, bei denen ein Bindestrich als Datum verwendet wird Trennzeichen.

Es ist nicht notwendig, Try/Catch-Blöcke zu verschachteln. Iterieren Sie stattdessen über mehrere SimpleDateFormat-Objekte mit unterschiedlichen Mustern.

Eine Methode wie die folgende kann implementiert werden:

// ...
List<String> formatStrings = List.of("M/y", "M/d/y", "M-d-y");
// ...

Date tryParse(String dateString) {
    for (String formatString : formatStrings) {
        try {
            return new SimpleDateFormat(formatString).parse(dateString);
        } catch (ParseException ignored) {}
    }
    return null;
}

Das obige ist der detaillierte Inhalt vonWie kann ich variable Datumsformate (z. B. 09.09., 01.09.2009, 01.09.2009) in Java effizient analysieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn