Heim > Backend-Entwicklung > C++ > Wie kann ich kulturspezifische Datumszeichenfolgen in C#richtig analysieren?

Wie kann ich kulturspezifische Datumszeichenfolgen in C#richtig analysieren?

Susan Sarandon
Freigeben: 2025-01-27 00:51:09
Original
216 Leute haben es durchsucht

How Can I Correctly Parse Culture-Specific Date Strings in C#?

Parsen Sie eine Zeichenfolge mithilfe eines kulturspezifischen Formats in ein Datum

Problemstellung:

Der Versuch, mit der Parse-Methode eine Datumszeichenfolge im Format „TT/MM/JJJJ“ in ein DateTime-Objekt zu konvertieren, führt zu einer Ausnahme mit der Meldung „Zeichenfolge wurde nicht als gültiges DateTime-Format erkannt“.

Erklärung und Lösung:

Die Methode

Parse verwendet beim Parsen einer benutzerdefinierten formatierten Zeichenfolge die Formateinstellungen der aktuellen Kultur. In diesem Fall stellt die Zeichenfolge ein europäisches Datumsformat dar, das sich vom amerikanischen Standardformat unterscheidet. Um dieses Problem zu beheben, verwenden Sie stattdessen die Methode ParseExact.

Die Methode

ParseExact akzeptiert drei Parameter: die zu analysierende Zeichenfolge, das erwartete Format und den Formatanbieter. Formatanbieter geben kulturspezifische Formatierungsregeln an, die angewendet werden sollen. Für das gegebene Beispiel:

<code class="language-csharp">this.Text = "22/11/2009";
DateTime date = DateTime.ParseExact(this.Text, "dd/MM/yyyy", null);</code>
Nach dem Login kopieren

Wenn Sie null als Formatanbieter verwenden, werden standardmäßig die Einstellungen der aktuellen Kultur verwendet. Alternativ können Sie eine bestimmte Kultur angeben, zum Beispiel:

<code class="language-csharp">DateTime date = DateTime.ParseExact(this.Text, "dd/MM/yyyy", CultureInfo.GetCultureInfo("en-GB"));</code>
Nach dem Login kopieren

Unterschied zwischen Parse und ParseExact:

  • Parsen: Übernimmt die Formatierung der aktuellen Kultur und unterstützt eine begrenzte Anzahl von Datumsformaten.
  • ParseExact: erfordert ein explizites Format und ermöglicht eine größere Flexibilität bei der Anpassung des Parsing-Prozesses.

Wählen Sie den Aspekt der besten Antwort:

Typsicherheit: Beide Antworten bieten Typsicherheit, da das Ergebnis der Analyse ein gültiges DateTime-Objekt ist.

Leistung: Beide Methoden funktionieren ähnlich, da sie beide das Parsen der Zeichenfolge in eine Datumsdarstellung beinhalten.

Flexibilität: ParseExact bietet mehr Flexibilität, indem es benutzerdefinierte Zielformate zulässt, wodurch es sich besser für den Umgang mit Daten mit nicht standardmäßigen Formaten oder unterschiedlichen Kulturen eignet.

Das obige ist der detaillierte Inhalt vonWie kann ich kulturspezifische Datumszeichenfolgen in C#richtig analysieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage