Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel enthält ergänzende Hinweise zur Referenzdokumentation für diese API.
Die DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) Methode analysiert eine Zeichenfolge, die Datums-, Uhrzeit- und Zeitzoneninformationen enthalten kann. Es ähnelt der DateTime.Parse(String, IFormatProvider, DateTimeStyles) Methode, mit der Ausnahme, dass die DateTime.TryParse(String, DateTime) Methode keine Ausnahme auslöst, wenn die Konvertierung fehlschlägt.
Diese Methode versucht, nicht erkannte Daten zu ignorieren und die Eingabezeichenfolge (s) vollständig zu analysieren. Wenn s eine Uhrzeit, aber kein Datum enthält, ersetzt die Methode standardmäßig das aktuelle Datum. Wenn styles das NoCurrentDateDefault-Kennzeichen enthält, ersetzt sie DateTime.Date.MinValue. Wenn s ein Datum, aber keine Uhrzeit enthalten ist, wird Mitternacht um 12:00 Uhr als Standardzeit verwendet. Wenn ein Datum vorhanden ist, aber seine Jahreskomponente nur aus zwei Ziffern besteht, wird sie basierend auf dem Wert der provider Eigenschaft in ein Jahr im aktuellen Kalender des Calendar.TwoDigitYearMax Parameters konvertiert. Alle führenden, zentralen oder hinteren Leerzeichen in s werden ignoriert. Das Datum und die Uhrzeit können mit einem Paar führender und nachgestellter ZIFFERNZEICHEN (‚#‘, U+0023) gekoppelt werden und können mit einem oder mehreren NULL-Zeichen (U+0000) nachgestellt werden.
Spezifische gültige Formate für Datums- und Uhrzeitelemente sowie die Namen und Symbole, die in Datums- und Uhrzeitangaben verwendet werden, werden durch den provider Parameter definiert, der eine der folgenden Sein kann:
- Ein CultureInfo Objekt, das die Kultur darstellt, deren Formatierung im
sParameter verwendet wird. Das von der Eigenschaft DateTimeFormatInfo zurückgegebene CultureInfo.DateTimeFormat Objekt definiert das insverwendete Format. - Ein DateTimeFormatInfo Objekt, das das in
sverwendete Format definiert. - Eine benutzerdefinierte IFormatProvider Implementierung. Die IFormatProvider.GetFormat-Methode gibt ein DateTimeFormatInfo-Objekt zurück, das das in
sverwendete Format definiert.
Wenn provider gleich null ist, wird die aktuelle Kultur verwendet.
Wenn s die Zeichenfolge für einen Schalttag in einem Schaltjahr des aktuellen Kalenders ist, analysiert die Methode s erfolgreich. Wenn s die Zeichenfolge für einen Schalttag in einem Nicht-Schaltjahr im aktuellen Kalender von provider ist, schlägt die Parse-Operation fehl und die Methode gibt false zurück.
Der styles Parameter definiert die genaue Interpretation der analysierten Zeichenfolge und wie der Analysevorgang damit umgeht. Es kann sich um ein oder mehrere Elemente der DateTimeStyles Enumeration, wie in der folgenden Tabelle beschrieben, sein.
| DateTimeStyles-Mitglied | BESCHREIBUNG |
|---|---|
| AdjustToUniversal | Analysiert s und konvertiert es, falls erforderlich, in UTC. Wenn s ein Zeitzonenoffset enthält oder s keine Zeitzoneninformationen enthält, aber styles das DateTimeStyles.AssumeLocal-Flag enthält, analysiert die Methode die Zeichenfolge, ruft ToUniversalTime auf, um den zurückgegebenen DateTime-Wert in UTC zu konvertieren, und legt die Kind-Eigenschaft auf DateTimeKind.Utc fest. Wenn s angegeben wird, dass es UTC darstellt oder keine s Zeitzoneninformationen enthält, aber styles das DateTimeStyles.AssumeUniversal Flag enthält, analysiert die Methode die Zeichenfolge, führt keine Zeitzonenkonvertierung für den zurückgegebenen DateTime Wert durch und legt die Kind Eigenschaft auf DateTimeKind.Utc. In allen anderen Fällen hat das Flag keine Auswirkung. |
| AllowInnerWhite | Obwohl gültig, wird dieser Wert ignoriert. Innerer Leerraum ist in den Datums- und Uhrzeitelementen von s zulässig. |
| AllowLeadingWhite | Obwohl gültig, wird dieser Wert ignoriert. Führende Leerzeichen sind in den Datums- und Zeitelementen von s erlaubt. |
| AllowTrailingWhite | Obwohl gültig, wird dieser Wert ignoriert. Nachfolgende Leerzeichen sind in den Datums- und Zeitelementen von s erlaubt. |
| AllowWhiteSpaces | Gibt an, dass s führende, innere und nachfolgende Leerzeichen enthalten können. Dies ist das Standardverhalten. Es kann nicht durch die Angabe eines restriktiveren DateTimeStyles Aufzählungswertes wie z. B. DateTimeStyles.None überschrieben werden. |
| AssumeLocal | Gibt an, dass bei s fehlenden Zeitzoneninformationen davon ausgegangen wird, dass sie eine Ortszeit darstellt. Sofern das DateTimeStyles.AdjustToUniversal-Flag nicht gegeben ist, wird die Kind-Eigenschaft des zurückgegebenen DateTime-Werts auf DateTimeKind.Local gesetzt. |
| AssumeUniversal | Gibt an, dass wenn s keine Zeitzoneninformationen enthält, angenommen wird, dass diese UTC darstellen. Sofern das DateTimeStyles.AdjustToUniversal Flag nicht vorhanden ist, konvertiert die Methode den zurückgegebenen DateTime Wert von UTC in ortszeit und legt dessen Kind Eigenschaft auf DateTimeKind.Local. |
| None | Obwohl gültig, wird dieser Wert ignoriert. |
| RoundtripKind | Bei Zeichenfolgen, die Zeitzoneninformationen enthalten, wird versucht, die Umwandlung einer Datums- und Uhrzeitzeichenfolge in einen DateTime Wert zu verhindern, dessen Kind-Eigenschaft auf DateTimeKind.Local gesetzt ist. In der Regel wird eine solche Zeichenfolge erstellt, indem die DateTime.ToString(String)-Methode mit den Standardformatbezeichnern "o", "r" oder "u" aufgerufen wird. |
Wenn s keine Zeitzoneninformationen enthält, gibt die DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) Methode einen DateTime Wert zurück, dessen Kind Eigenschaft DateTimeKind.Unspecified ist, es sei denn, ein styles-Flag gibt etwas anderes an. Wenn s Informationen zur Zeitzone oder zum Zeitzonenversatz enthält, führt die DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) Methode alle erforderlichen Zeitkonvertierungen durch und gibt eines der folgenden Ergebnisse zurück.
- Ein DateTime Wert, dessen Datum und Uhrzeit die lokale Uhrzeit widerspiegeln und deren Kind Eigenschaft lautet DateTimeKind.Local.
- Oder, wenn
stylesdas AdjustToUniversal Flag enthält, einen DateTime Wert, dessen Datum und Uhrzeit UTC widerspiegeln und dessen Kind Eigenschaft DateTimeKind.Utc ist.
Dieses Verhalten kann mithilfe des DateTimeStyles.RoundtripKind Flags überschrieben werden.
Angepasste Gebietsschemata parsen
Wenn Sie eine für eine benutzerdefinierte Kultur generierte Datums- und Uhrzeitzeichenfolge analysieren, verwenden Sie die TryParseExact Methode anstelle der TryParse Methode, um die Wahrscheinlichkeit zu verbessern, dass der Analysevorgang erfolgreich ist. Eine benutzerdefinierte Kultur-Datums- und Uhrzeitzeichenfolge kann kompliziert und schwierig zu analysieren sein. Die TryParse Methode versucht, eine Zeichenfolge mit mehreren impliziten Analysemustern zu analysieren, die möglicherweise fehlschlagen. Im Gegensatz dazu müssen Sie bei der TryParseExact-Methode explizit ein oder mehrere exakte Parse-Muster angeben, die wahrscheinlich zum Erfolg führen werden.
Weitere Informationen über angepasste Gebietsschemata finden Sie unter der System.Globalization.CultureAndRegionInfoBuilder Klasse.