DateTime.TryParse Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Konvertiert die angegebene Zeichenfolgendarstellung eines Datums und einer Uhrzeit in das DateTime entsprechende Datum und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich war.
Überlädt
| Name | Beschreibung |
|---|---|
| TryParse(ReadOnlySpan<Char>, DateTime) |
Konvertiert die angegebene Zeichenspanne eines Datums und einer Uhrzeit in seine DateTime Entsprechung und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich war. |
| TryParse(String, DateTime) |
Konvertiert die angegebene Zeichenfolgendarstellung eines Datums und einer Uhrzeit in das DateTime entsprechende Datum und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich war. |
| TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTime) |
Versucht, einen Bereich von Zeichen in einen Wert zu analysieren. |
| TryParse(String, IFormatProvider, DateTime) |
Versucht, eine Zeichenfolge in einen Wert zu analysieren. |
| TryParse(String, IFormatProvider, DateTimeStyles, DateTime) |
Konvertiert die angegebene Zeichenfolgendarstellung eines Datums und einer Uhrzeit in seine DateTime Entsprechung mithilfe der angegebenen kulturspezifischen Formatinformationen und Formatierungsformatvorlage und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich war. |
| TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTime) |
Wandelt die Spannweitendarstellung eines Datums und einer Uhrzeit mithilfe der angegebenen kulturspezifischen Formatinformationen und Formatierungsformatvorlage in ein DateTime entsprechendes Format um und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich war. |
Hinweise
Von Bedeutung
Ären in den japanischen Kalendern basieren auf der Herrschaft des Kaisers und werden daher voraussichtlich wechseln. Beispielsweise markierte der 1. Mai 2019 den Anfang der Reiwa-Ära in der JapaneseCalendar und JapaneseLunisolarCalendar. Eine solche Änderung des Zeitalters wirkt sich auf alle Anwendungen aus, die diese Kalender verwenden. Unter Handling a new era in the Japanese calendar in .NET (Umgang mit einem neuen Zeitabschnitt im japanischen Kalender in .NET) finden Sie weitere Informationen und wie Sie bestimmen können, ob Ihre Anwendungen ebenfalls betroffen sind. Informationen zum Testen Ihrer Anwendungen auf Windows-Systemen, um ihre Bereitschaft für die Änderung der Ära sicherzustellen, finden Sie unter "Vorbereiten Ihrer Anwendung für die Änderung im japanischen Zeitalter". Features in .NET, die Kalender mit mehreren Epochen unterstützen und bewährte Methoden beim Arbeiten mit Kalendern, die mehrere Epochen unterstützen, finden Sie unter Arbeiten mit Eras.
TryParse(ReadOnlySpan<Char>, DateTime)
- Quelle:
- DateTime.cs
- Quelle:
- DateTime.cs
- Quelle:
- DateTime.cs
- Quelle:
- DateTime.cs
- Quelle:
- DateTime.cs
Konvertiert die angegebene Zeichenspanne eines Datums und einer Uhrzeit in seine DateTime Entsprechung und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich war.
public:
static bool TryParse(ReadOnlySpan<char> s, [Runtime::InteropServices::Out] DateTime % result);
public static bool TryParse(ReadOnlySpan<char> s, out DateTime result);
static member TryParse : ReadOnlySpan<char> * DateTime -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), ByRef result As DateTime) As Boolean
Parameter
- s
- ReadOnlySpan<Char>
Eine Zeichenfolge, die ein Datum und eine Uhrzeit enthält, die konvertiert werden soll.
- result
- DateTime
Wenn diese Methode zurückgegeben wird, enthält sie den DateTime Wert, der dem Datum und der Uhrzeit entspricht, das in s, wenn die Konvertierung erfolgreich war, oder DateTime.MinValue , wenn die Konvertierung fehlgeschlagen ist. Die Konvertierung schlägt fehl, wenn der s Parameter eine leere Zeichenfolge ("") ist nulloder keine gültige Zeichenfolgendarstellung eines Datums und einer Uhrzeit enthält. Dieser Parameter wird nicht initialisiert übergeben.
Gibt zurück
true wenn der s Parameter erfolgreich konvertiert wurde; andernfalls false.
Gilt für:
TryParse(String, DateTime)
- Quelle:
- DateTime.cs
- Quelle:
- DateTime.cs
- Quelle:
- DateTime.cs
- Quelle:
- DateTime.cs
- Quelle:
- DateTime.cs
Konvertiert die angegebene Zeichenfolgendarstellung eines Datums und einer Uhrzeit in das DateTime entsprechende Datum und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich war.
public:
static bool TryParse(System::String ^ s, [Runtime::InteropServices::Out] DateTime % result);
public static bool TryParse(string s, out DateTime result);
public static bool TryParse(string? s, out DateTime result);
static member TryParse : string * DateTime -> bool
Public Shared Function TryParse (s As String, ByRef result As DateTime) As Boolean
Parameter
- s
- String
Eine Zeichenfolge, die ein Datum und eine Uhrzeit enthält, die konvertiert werden soll.
- result
- DateTime
Wenn diese Methode zurückgegeben wird, enthält sie den DateTime Wert, der dem Datum und der Uhrzeit entspricht, das in s, wenn die Konvertierung erfolgreich war, oder DateTime.MinValue , wenn die Konvertierung fehlgeschlagen ist. Die Konvertierung schlägt fehl, wenn der s Parameter eine leere Zeichenfolge ("") ist nulloder keine gültige Zeichenfolgendarstellung eines Datums und einer Uhrzeit enthält. Dieser Parameter wird nicht initialisiert übergeben.
Gibt zurück
true wenn der s Parameter erfolgreich konvertiert wurde; andernfalls false.
Beispiele
Im folgenden Beispiel wird eine Anzahl von Datums- und Uhrzeitzeichenfolgen an die DateTime.TryParse(String, DateTime) Methode übergeben.
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
string[] dateStrings = {"05/01/2009 14:57:32.8", "2009-05-01 14:57:32.8",
"2009-05-01T14:57:32.8375298-04:00", "5/01/2008",
"5/01/2008 14:57:32.80 -07:00",
"1 May 2008 2:57:32.8 PM", "16-05-2009 1:00:32 PM",
"Fri, 15 May 2009 20:10:57 GMT" };
DateTime dateValue;
Console.WriteLine("Attempting to parse strings using {0} culture.",
CultureInfo.CurrentCulture.Name);
foreach (string dateString in dateStrings)
{
if (DateTime.TryParse(dateString, out dateValue))
Console.WriteLine(" Converted '{0}' to {1} ({2}).", dateString,
dateValue, dateValue.Kind);
else
Console.WriteLine(" Unable to parse '{0}'.", dateString);
}
}
}
// The example displays output like the following:
// Attempting to parse strings using en-US culture.
// Converted '05/01/2009 14:57:32.8' to 5/1/2009 2:57:32 PM (Unspecified).
// Converted '2009-05-01 14:57:32.8' to 5/1/2009 2:57:32 PM (Unspecified).
// Converted '2009-05-01T14:57:32.8375298-04:00' to 5/1/2009 11:57:32 AM (Local).
//
// Converted '5/01/2008' to 5/1/2008 12:00:00 AM (Unspecified).
// Converted '5/01/2008 14:57:32.80 -07:00' to 5/1/2008 2:57:32 PM (Local).
// Converted '1 May 2008 2:57:32.8 PM' to 5/1/2008 2:57:32 PM (Unspecified).
// Unable to parse '16-05-2009 1:00:32 PM'.
// Converted 'Fri, 15 May 2009 20:10:57 GMT' to 5/15/2009 1:10:57 PM (Local).
open System
open System.Globalization
let dateStrings =
[ "05/01/2009 14:57:32.8"; "2009-05-01 14:57:32.8"
"2009-05-01T14:57:32.8375298-04:00"; "5/01/2008"
"5/01/2008 14:57:32.80 -07:00"
"1 May 2008 2:57:32.8 PM"; "16-05-2009 1:00:32 PM"
"Fri, 15 May 2009 20:10:57 GMT" ]
printfn $"Attempting to parse strings using {CultureInfo.CurrentCulture.Name} culture."
for dateString in dateStrings do
match DateTime.TryParse dateString with
| true, dateValue ->
printfn $" Converted '{dateString}' to {dateValue} ({dateValue.Kind})."
| _ ->
printfn $" Unable to parse '{dateString}'."
// The example displays output like the following:
// Attempting to parse strings using en-US culture.
// Converted '05/01/2009 14:57:32.8' to 5/1/2009 2:57:32 PM (Unspecified).
// Converted '2009-05-01 14:57:32.8' to 5/1/2009 2:57:32 PM (Unspecified).
// Converted '2009-05-01T14:57:32.8375298-04:00' to 5/1/2009 11:57:32 AM (Local).
// Converted '5/01/2008' to 5/1/2008 12:00:00 AM (Unspecified).
// Converted '5/01/2008 14:57:32.80 -07:00' to 5/1/2008 2:57:32 PM (Local).
// Converted '1 May 2008 2:57:32.8 PM' to 5/1/2008 2:57:32 PM (Unspecified).
// Unable to parse '16-05-2009 1:00:32 PM'.
// Converted 'Fri, 15 May 2009 20:10:57 GMT' to 5/15/2009 1:10:57 PM (Local).
Imports System.Globalization
Public Module Example
Public Sub Main()
Dim dateStrings() As String = {"05/01/2009 14:57:32.8", "2009-05-01 14:57:32.8",
"2009-05-01T14:57:32.8375298-04:00", "5/01/2008",
"5/01/2008 14:57:32.80 -07:00",
"1 May 2008 2:57:32.8 PM", "16-05-2009 1:00:32 PM",
"Fri, 15 May 2009 20:10:57 GMT"}
Dim dateValue As Date
Console.WriteLine("Attempting to parse strings using {0} culture.", _
CultureInfo.CurrentCulture.Name)
For Each dateString As String In dateStrings
If Date.TryParse(dateString, dateValue) Then
Console.WriteLine(" Converted '{0}' to {1} ({2}).", dateString, _
dateValue, dateValue.Kind)
Else
Console.WriteLine(" Unable to parse '{0}'.", dateString)
End If
Next
End Sub
End Module
' The example displays output like the following:
' Attempting to parse strings using en-US culture.
' Converted '05/01/2009 14:57:32.8' to 5/1/2009 2:57:32 PM (Unspecified).
' Converted '2009-05-01 14:57:32.8' to 5/1/2009 2:57:32 PM (Unspecified).
' Converted '2009-05-01T14:57:32.8375298-04:00' to 5/1/2009 11:57:32 AM (Local).
'
' Converted '5/01/2008' to 5/1/2008 12:00:00 AM (Unspecified).
' Converted '5/01/2008 14:57:32.80 -07:00' to 5/1/2008 2:57:32 PM (Local).
' Converted '1 May 2008 2:57:32.8 PM' to 5/1/2008 2:57:32 PM (Unspecified).
' Unable to parse '16-05-2009 1:00:32 PM'.
' Converted 'Fri, 15 May 2009 20:10:57 GMT' to 5/15/2009 1:10:57 PM (Local).
Hinweise
Die DateTime.TryParse(String, DateTime) Methode ähnelt der DateTime.Parse(String) Methode, mit der Ausnahme, dass die TryParse(String, DateTime) Methode keine Ausnahme auslöst, wenn die Konvertierung fehlschlägt.
Die Zeichenfolge s wird mithilfe von Formatierungsinformationen im aktuellen DateTimeFormatInfo Objekt analysiert, die implizit von der aktuellen Kultur bereitgestellt werden.
Diese Methode versucht, nicht erkannte Daten nach Möglichkeit zu ignorieren und fehlende Monats-, Tages- und Jahresinformationen mit dem aktuellen Datum auszufüllen. Wenn s diese Methode nur ein Datum und keine Uhrzeit enthält, wird davon ausgegangen, dass die Uhrzeit 12:00 Uhr beträgt. Wenn s eine Datumskomponente mit einem zweistelligen Jahr enthalten ist, wird sie basierend auf dem Wert der Calendar.TwoDigitYearMax Eigenschaft in ein Jahr im aktuellen Kalender der aktuellen Kultur konvertiert. Alle führenden, inneren oder nachfolgenden Leerzeichen werden s 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.
Da die DateTime.TryParse(String, DateTime) Methode versucht, die Zeichenfolgendarstellung eines Datums und einer Uhrzeit mithilfe der Formatierungsregeln der aktuellen Kultur zu analysieren, kann der Versuch, eine bestimmte Zeichenfolge in verschiedenen Kulturen zu analysieren, entweder fehlschlagen oder unterschiedliche Ergebnisse zurückgeben. Wenn ein bestimmtes Datums- und Uhrzeitformat in verschiedenen Gebietsschemas analysiert wird, verwenden Sie die DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) Methode oder eine der Überladungen der TryParseExact Methode, und stellen Sie einen Formatbezeichner bereit.
Wenn s die Zeichenfolge für einen Schalttag in einem Schaltjahr des aktuellen Kalenders ist, analysiert die Methode s erfolgreich. Ist s die Zeichenfolgendarstellung eines Schalttags in einem Nicht-Schaltjahr im aktuellen Kalender der aktuellen Kultur, schlägt der Analysevorgang fehl, und die Methode gibt zurück false.
Wenn s keine Zeitzoneninformationen enthalten sind, enthält sie einen DateTime Wert, result dessen Kind Eigenschaft beim Zurückgeben der Methode liegtDateTimeKind.Unspecified. Wenn die zu analysierende Zeichenfolge Zeitzoneninformationen enthält, enthält sie einen DateTime Wert, result dessen Kind Eigenschaft beim Zurückgeben der Methode liegtDateTimeKind.Local.
Hinweise für Aufrufer
Die Formatierung wird durch Eigenschaften des aktuellen DateTimeFormatInfo Objekts beeinflusst, die standardmäßig vom Element " Regions- und Sprachoptionen " in der Systemsteuerung abgeleitet werden. Die TryParse Methode kann unerwartet fehlschlagen und zurückgeben False , wenn die aktuellen DateSeparator Und TimeSeparator Eigenschaften auf denselben Wert festgelegt sind.
Weitere Informationen
- Parse
- CultureInfo
- DateTimeFormatInfo
- Analysieren von Datums- und Uhrzeitzeichenfolgen im .NET Framework
- Standardformatzeichenfolgen für Datum und Uhrzeiten
- Benutzerdefinierte Formatzeichenfolgen für Datum und Uhrzeit
- Beispiel: .NET Core WinForms Formatting Utility (C#)
- Beispiel: .NET Core WinForms Formatting Utility (Visual Basic)
Gilt für:
TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTime)
- Quelle:
- DateTime.cs
- Quelle:
- DateTime.cs
- Quelle:
- DateTime.cs
- Quelle:
- DateTime.cs
- Quelle:
- DateTime.cs
Versucht, einen Bereich von Zeichen in einen Wert zu analysieren.
public:
static bool TryParse(ReadOnlySpan<char> s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] DateTime % result) = ISpanParsable<DateTime>::TryParse;
public static bool TryParse(ReadOnlySpan<char> s, IFormatProvider? provider, out DateTime result);
static member TryParse : ReadOnlySpan<char> * IFormatProvider * DateTime -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), provider As IFormatProvider, ByRef result As DateTime) As Boolean
Parameter
- s
- ReadOnlySpan<Char>
Die Spanne der zu analysierenden Zeichen.
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen zu s.
- result
- DateTime
Wenn diese Methode zurückgegeben wird, enthält das Ergebnis der erfolgreichen Analyse oder eines nicht definierten Werts sfür fehler.
Gibt zurück
truewenn s erfolgreich analysiert wurde; andernfalls . false
Gilt für:
TryParse(String, IFormatProvider, DateTime)
- Quelle:
- DateTime.cs
- Quelle:
- DateTime.cs
- Quelle:
- DateTime.cs
- Quelle:
- DateTime.cs
- Quelle:
- DateTime.cs
Versucht, eine Zeichenfolge in einen Wert zu analysieren.
public:
static bool TryParse(System::String ^ s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] DateTime % result) = IParsable<DateTime>::TryParse;
public static bool TryParse(string? s, IFormatProvider? provider, out DateTime result);
static member TryParse : string * IFormatProvider * DateTime -> bool
Public Shared Function TryParse (s As String, provider As IFormatProvider, ByRef result As DateTime) As Boolean
Parameter
- s
- String
Die zu analysierende Zeichenfolge.
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen zu s.
- result
- DateTime
Wenn diese Methode zurückgegeben wird, enthält das Ergebnis einer erfolgreichen Analyse oder eines nicht definierten Werts s für fehler.
Gibt zurück
truewenn s erfolgreich analysiert wurde; andernfalls . false
Gilt für:
TryParse(String, IFormatProvider, DateTimeStyles, DateTime)
- Quelle:
- DateTime.cs
- Quelle:
- DateTime.cs
- Quelle:
- DateTime.cs
- Quelle:
- DateTime.cs
- Quelle:
- DateTime.cs
Konvertiert die angegebene Zeichenfolgendarstellung eines Datums und einer Uhrzeit in seine DateTime Entsprechung mithilfe der angegebenen kulturspezifischen Formatinformationen und Formatierungsformatvorlage und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich war.
public:
static bool TryParse(System::String ^ s, IFormatProvider ^ provider, System::Globalization::DateTimeStyles styles, [Runtime::InteropServices::Out] DateTime % result);
public static bool TryParse(string s, IFormatProvider provider, System.Globalization.DateTimeStyles styles, out DateTime result);
public static bool TryParse(string? s, IFormatProvider? provider, System.Globalization.DateTimeStyles styles, out DateTime result);
static member TryParse : string * IFormatProvider * System.Globalization.DateTimeStyles * DateTime -> bool
Public Shared Function TryParse (s As String, provider As IFormatProvider, styles As DateTimeStyles, ByRef result As DateTime) As Boolean
Parameter
- s
- String
Eine Zeichenfolge, die ein Datum und eine Uhrzeit enthält, die konvertiert werden soll.
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen zu s.
- styles
- DateTimeStyles
Eine bitweise Kombination von Enumerationswerten, die definieren, wie das analysierte Datum in Bezug auf die aktuelle Zeitzone oder das aktuelle Datum interpretiert wird. Ein typischer Wert, der angegeben werden soll, ist None.
- result
- DateTime
Wenn diese Methode zurückgegeben wird, enthält sie den DateTime Wert, der dem Datum und der Uhrzeit entspricht, das in s, wenn die Konvertierung erfolgreich war, oder DateTime.MinValue , wenn die Konvertierung fehlgeschlagen ist. Die Konvertierung schlägt fehl, wenn der s Parameter eine leere Zeichenfolge ("") ist nulloder keine gültige Zeichenfolgendarstellung eines Datums und einer Uhrzeit enthält. Dieser Parameter wird nicht initialisiert übergeben.
Gibt zurück
true wenn der s Parameter erfolgreich konvertiert wurde; andernfalls false.
Ausnahmen
styles ist kein gültiger DateTimeStyles Wert.
- oder -
styles enthält eine ungültige Kombination von DateTimeStyles Werten (z. B. beide AssumeLocal und AssumeUniversal).
provider ist eine neutrale Kultur und kann nicht in einem Analysevorgang verwendet werden.
Beispiele
Das folgende Beispiel veranschaulicht die DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) Methode.
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
string dateString;
CultureInfo culture;
DateTimeStyles styles;
DateTime dateResult;
// Parse a date and time with no styles.
dateString = "03/01/2009 10:00 AM";
culture = CultureInfo.CreateSpecificCulture("en-US");
styles = DateTimeStyles.None;
if (DateTime.TryParse(dateString, culture, styles, out dateResult))
Console.WriteLine("{0} converted to {1} {2}.",
dateString, dateResult, dateResult.Kind);
else
Console.WriteLine("Unable to convert {0} to a date and time.",
dateString);
// Parse the same date and time with the AssumeLocal style.
styles = DateTimeStyles.AssumeLocal;
if (DateTime.TryParse(dateString, culture, styles, out dateResult))
Console.WriteLine("{0} converted to {1} {2}.",
dateString, dateResult, dateResult.Kind);
else
Console.WriteLine("Unable to convert {0} to a date and time.", dateString);
// Parse a date and time that is assumed to be local.
// This time is five hours behind UTC. The local system's time zone is
// eight hours behind UTC.
dateString = "2009/03/01T10:00:00-5:00";
styles = DateTimeStyles.AssumeLocal;
if (DateTime.TryParse(dateString, culture, styles, out dateResult))
Console.WriteLine("{0} converted to {1} {2}.",
dateString, dateResult, dateResult.Kind);
else
Console.WriteLine("Unable to convert {0} to a date and time.", dateString);
// Attempt to convert a string in improper ISO 8601 format.
dateString = "03/01/2009T10:00:00-5:00";
if (DateTime.TryParse(dateString, culture, styles, out dateResult))
Console.WriteLine("{0} converted to {1} {2}.",
dateString, dateResult, dateResult.Kind);
else
Console.WriteLine("Unable to convert {0} to a date and time.", dateString);
// Assume a date and time string formatted for the fr-FR culture is the local
// time and convert it to UTC.
dateString = "2008-03-01 10:00";
culture = CultureInfo.CreateSpecificCulture("fr-FR");
styles = DateTimeStyles.AdjustToUniversal | DateTimeStyles.AssumeLocal;
if (DateTime.TryParse(dateString, culture, styles, out dateResult))
Console.WriteLine("{0} converted to {1} {2}.",
dateString, dateResult, dateResult.Kind);
else
Console.WriteLine("Unable to convert {0} to a date and time.", dateString);
}
}
// The example displays the following output to the console:
// 03/01/2009 10:00 AM converted to 3/1/2009 10:00:00 AM Unspecified.
// 03/01/2009 10:00 AM converted to 3/1/2009 10:00:00 AM Local.
// 2009/03/01T10:00:00-5:00 converted to 3/1/2009 7:00:00 AM Local.
// Unable to convert 03/01/2009T10:00:00-5:00 to a date and time.
// 2008-03-01 10:00 converted to 3/1/2008 6:00:00 PM Utc.
open System
open System.Globalization
[<EntryPoint>]
let main _ =
// Parse a date and time with no styles.
let dateString = "03/01/2009 10:00 AM"
let culture = CultureInfo.CreateSpecificCulture "en-US"
let styles = DateTimeStyles.None
match DateTime.TryParse(dateString, culture, styles) with
| true, dateResult ->
printfn $"{dateString} converted to {dateResult} {dateResult.Kind}."
| _ ->
printfn $"Unable to convert {dateString} to a date and time."
// Parse the same date and time with the AssumeLocal style.
let styles = DateTimeStyles.AssumeLocal
match DateTime.TryParse(dateString, culture, styles) with
| true, dateResult ->
printfn $"{dateString} converted to {dateResult} {dateResult.Kind}."
| _ ->
printfn $"Unable to convert {dateString} to a date and time."
// Parse a date and time that is assumed to be local.
// This time is five hours behind UTC. The local system's time zone is
// eight hours behind UTC.
let dateString = "2009/03/01T10:00:00-5:00"
let styles = DateTimeStyles.AssumeLocal
match DateTime.TryParse(dateString, culture, styles) with
| true, dateResult ->
printfn $"{dateString} converted to {dateResult} {dateResult.Kind}."
| _ ->
printfn $"Unable to convert {dateString} to a date and time."
// Attempt to convert a string in improper ISO 8601 format.
let dateString = "03/01/2009T10:00:00-5:00"
match DateTime.TryParse(dateString, culture, styles) with
| true, dateResult ->
printfn $"{dateString} converted to {dateResult} {dateResult.Kind}."
| _ ->
printfn $"Unable to convert {dateString} to a date and time."
// Assume a date and time string formatted for the fr-FR culture is the local
// time and convert it to UTC.
let dateString = "2008-03-01 10:00"
let culture = CultureInfo.CreateSpecificCulture "fr-FR"
let styles = DateTimeStyles.AdjustToUniversal ||| DateTimeStyles.AssumeLocal
match DateTime.TryParse(dateString, culture, styles) with
| true, dateResult ->
printfn $"{dateString} converted to {dateResult} {dateResult.Kind}."
| _ ->
printfn $"Unable to convert {dateString} to a date and time."
0
// The example displays the following output to the console:
// 03/01/2009 10:00 AM converted to 3/1/2009 10:00:00 AM Unspecified.
// 03/01/2009 10:00 AM converted to 3/1/2009 10:00:00 AM Local.
// 2009/03/01T10:00:00-5:00 converted to 3/1/2009 7:00:00 AM Local.
// Unable to convert 03/01/2009T10:00:00-5:00 to a date and time.
// 2008-03-01 10:00 converted to 3/1/2008 6:00:00 PM Utc.
Imports System.Globalization
Public Module Example
Public Sub Main()
Dim dateString As String
Dim culture As CultureInfo
Dim styles As DateTimeStyles
Dim dateResult As DateTime
' Parse a date and time with no styles.
dateString = "03/01/2009 10:00 AM"
culture = CultureInfo.CreateSpecificCulture("en-US")
styles = DateTimeStyles.None
If DateTime.TryParse(dateString, culture, styles, dateResult) Then
Console.WriteLine("{0} converted to {1} {2}.", _
dateString, dateResult, dateResult.Kind)
Else
Console.WriteLine("Unable to convert {0} to a date and time.", dateString)
End If
' Parse the same date and time with the AssumeLocal style.
styles = DateTimeStyles.AssumeLocal
If DateTime.TryParse(dateString, culture, styles, dateResult)
Console.WriteLine("{0} converted to {1} {2}.", _
dateString, dateResult, dateResult.Kind)
Else
Console.WriteLine("Unable to convert {0} to a date and time.", dateString)
End If
' Parse a date and time that is assumed to be local.
' This time is five hours behind UTC. The local system's time zone is
' eight hours behind UTC.
dateString = "2009/03/01T10:00:00-5:00"
styles = DateTimeStyles.AssumeLocal
If DateTime.TryParse(dateString, culture, styles, dateResult)
Console.WriteLine("{0} converted to {1} {2}.", _
dateString, dateResult, dateResult.Kind)
Else
Console.WriteLine("Unable to convert {0} to a date and time.", dateString)
End If
' Attempt to convert a string in improper ISO 8601 format.
dateString = "03/01/2009T10:00:00-5:00"
If DateTime.TryParse(dateString, culture, styles, dateResult)
Console.WriteLine("{0} converted to {1} {2}.", _
dateString, dateResult, dateResult.Kind)
Else
Console.WriteLine("Unable to convert {0} to a date and time.", dateString)
End If
' Assume a date and time string formatted for the fr-FR culture is the local
' time and convert it to UTC.
dateString = "2008-03-01 10:00"
culture = CultureInfo.CreateSpecificCulture("fr-FR")
styles = DateTimeStyles.AdjustToUniversal Or DateTimeStyles.AssumeLocal
If DateTime.TryParse(dateString, culture, styles, dateResult)
Console.WriteLine("{0} converted to {1} {2}.", _
dateString, dateResult, dateResult.Kind)
Else
Console.WriteLine("Unable to convert {0} to a date and time.", dateString)
End If
End Sub
End Module
' The example displays the following output to the console:
' 03/01/2009 10:00 AM converted to 3/1/2009 10:00:00 AM Unspecified.
' 03/01/2009 10:00 AM converted to 3/1/2009 10:00:00 AM Local.
' 2009/03/01T10:00:00-5:00 converted to 3/1/2009 7:00:00 AM Local.
' Unable to convert 03/01/2009T10:00:00-5:00 to a date and time.
' 2008-03-01 10:00 converted to 3/1/2008 6:00:00 PM Utc.
Hinweise
Weitere Informationen zu dieser API finden Sie in den ergänzenden API-Hinweisen für DateTime.TryParse.
Hinweise für Aufrufer
Die Formatierung wird durch Eigenschaften des aktuellen DateTimeFormatInfo Objekts beeinflusst, das vom provider Parameter bereitgestellt wird. Die TryParse Methode kann unerwartet fehlschlagen und zurückgeben False , wenn die aktuellen DateSeparator Und TimeSeparator Eigenschaften auf denselben Wert festgelegt sind.
Weitere Informationen
- Parse
- CultureInfo
- DateTimeFormatInfo
- Analysieren von Datums- und Uhrzeitzeichenfolgen im .NET Framework
- Standardformatzeichenfolgen für Datum und Uhrzeiten
- Benutzerdefinierte Formatzeichenfolgen für Datum und Uhrzeit
Gilt für:
TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTime)
- Quelle:
- DateTime.cs
- Quelle:
- DateTime.cs
- Quelle:
- DateTime.cs
- Quelle:
- DateTime.cs
- Quelle:
- DateTime.cs
Wandelt die Spannweitendarstellung eines Datums und einer Uhrzeit mithilfe der angegebenen kulturspezifischen Formatinformationen und Formatierungsformatvorlage in ein DateTime entsprechendes Format um und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich war.
public:
static bool TryParse(ReadOnlySpan<char> s, IFormatProvider ^ provider, System::Globalization::DateTimeStyles styles, [Runtime::InteropServices::Out] DateTime % result);
public static bool TryParse(ReadOnlySpan<char> s, IFormatProvider? provider, System.Globalization.DateTimeStyles styles, out DateTime result);
public static bool TryParse(ReadOnlySpan<char> s, IFormatProvider provider, System.Globalization.DateTimeStyles styles, out DateTime result);
static member TryParse : ReadOnlySpan<char> * IFormatProvider * System.Globalization.DateTimeStyles * DateTime -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), provider As IFormatProvider, styles As DateTimeStyles, ByRef result As DateTime) As Boolean
Parameter
- s
- ReadOnlySpan<Char>
Eine Spanne, die die Zeichen enthält, die das zu konvertierende Datum und die Uhrzeit darstellen.
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen zu s.
- styles
- DateTimeStyles
Eine bitweise Kombination von Enumerationswerten, die definieren, wie das analysierte Datum in Bezug auf die aktuelle Zeitzone oder das aktuelle Datum interpretiert wird. Ein typischer Wert, der angegeben werden soll, ist None.
- result
- DateTime
Wenn diese Methode zurückgegeben wird, enthält sie den DateTime Wert, der dem Datum und der Uhrzeit entspricht, das in s, wenn die Konvertierung erfolgreich war, oder DateTime.MinValue , wenn die Konvertierung fehlgeschlagen ist. Die Konvertierung schlägt fehl, wenn der s Parameter eine leere Zeichenfolge ("") ist nulloder keine gültige Zeichenfolgendarstellung eines Datums und einer Uhrzeit enthält. Dieser Parameter wird nicht initialisiert übergeben.
Gibt zurück
true wenn der s Parameter erfolgreich konvertiert wurde; andernfalls false.