Heim >Java >javaLernprogramm >Warum löst das Parsen einer Datumszeichenfolge mit „T' in Java die Ausnahme „Unzulässiges Musterzeichen ‚T'' aus?

Warum löst das Parsen einer Datumszeichenfolge mit „T' in Java die Ausnahme „Unzulässiges Musterzeichen ‚T'' aus?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-08 14:54:12534Durchsuche

Why Does Parsing a Date String with

Ungültiges Musterzeichen „T“ beim Parsen einer Datumszeichenfolge in java.util.Date

Beim Versuch, eine Datumszeichenfolge gemäß einem Standard zu parsen Wenn Sie mithilfe der Java-Datums-API ein Datum eingeben, tritt möglicherweise eine Ausnahme mit der folgenden Meldung auf: „Unzulässiges Musterzeichen ‚T‘“. Dieser Fehler tritt auf, weil das zum Parsen angegebene Muster das Zeichen „T“ enthält, das nicht als gültiges Musterzeichen erkannt wird.

Ursache:

Das „T“ Das Zeichen in der Datumszeichenfolge stellt das Zeittrennzeichen zwischen den Datums- und Zeitkomponenten dar. Das Standardmuster „SimpleDateFormat“ enthält dieses Zeichen jedoch nicht. Infolgedessen interpretiert der Parser es als unzulässiges Musterzeichen.

Lösung:

Um dieses Problem zu lösen, gibt es zwei Hauptansätze:

1. Benutzerdefiniertes Muster:

Sie können ein benutzerdefiniertes Muster angeben, das das Zeichen „T“ als Zeittrennzeichen enthält. Zum Beispiel:

String pattern = "yyyy-MM-dd'T'HH:mm:ssZ";

2. Einfaches Anführungszeichen maskieren:

Alternativ können Sie das „T“-Zeichen mit einfachen Anführungszeichen maskieren. Auf diese Weise wird es als Literalzeichen und nicht als Musterzeichen behandelt.

String pattern = "yyyy-MM-dd'T'hh:mm:ssZ";

Zusätzliche Hinweise:

  • In Java 8 und höher: Sie können die DateTimeFormatter-Klasse verwenden, um Datumszeichenfolgen flexibler und präziser zu analysieren. Zum Beispiel:
String input = "2010-10-02T12:23:23Z";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss'Z'");
LocalDateTime dateTime = LocalDateTime.parse(input, formatter);
  • Denken Sie daran, beim Parsen der Datumszeichenfolge die Zeitzone auf UTC oder die entsprechende Zeitzone festzulegen.

Anwenden einer dieser Methoden sollte es Ihnen ermöglichen, Datumszeichenfolgen mit dem Zeichen „T“ als Zeittrennzeichen erfolgreich zu analysieren.

Das obige ist der detaillierte Inhalt vonWarum löst das Parsen einer Datumszeichenfolge mit „T' in Java die Ausnahme „Unzulässiges Musterzeichen ‚T'' aus?. 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