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 einer Datums- und Uhrzeitangabe in deren DateTime-Entsprechung und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich ausgeführt wurde.
Überlädt
TryParse(ReadOnlySpan<Char>, DateTime) |
Konvertiert die angegebene Zeichenspanne einer Datums- und Uhrzeitangabe in deren DateTime-Äquivalent und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich ausgeführt wurde. |
TryParse(String, DateTime) |
Konvertiert die angegebene Zeichenfolgendarstellung einer Datums- und Uhrzeitangabe in deren DateTime-Entsprechung und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich ausgeführt wurde. |
TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTime) |
Versucht, eine Spanne 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 einer Datums- und Uhrzeitangabe unter Verwendung der angegebenen kulturspezifischen Formatierungsinformationen und des Formatierungsstils in die entsprechende DateTime und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich abgeschlossen wurde. |
TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTime) |
Konvertiert die Spannendarstellung einer Datums- und Uhrzeitangabe unter Verwendung der angegebenen kulturspezifischen Formatierungsinformationen und des Formatierungsstils in das DateTime-Äquivalent und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich abgeschlossen wurde. |
Hinweise
Wichtig
Die Zeitrechnung in japanischen Kalendern basiert auf den Regierungsperioden der Kaiser und wird sich daher erwartungsgemäß ändern. Beispiel: Der 1. Mai 2019 markiert den Beginn des Reiwa-Zeitabschnitts in den Kalendern des Typs JapaneseCalendar und JapaneseLunisolarCalendar. Eine derartige Änderung der Zeitabschnitte betrifft alle Anwendungen, die diese Kalender verwenden. Weitere Informationen und informationen zum Ermitteln, ob Ihre Anwendungen betroffen sind, finden Sie unter Behandeln einer neuen Ära im japanischen Kalender in .NET. Informationen zum Testen Ihrer Anwendungen auf Windows-Systemen, um ihre Bereitschaft für den Zeitwechsel sicherzustellen, finden Sie unter Vorbereiten ihrer Anwendung auf die Änderung der japanischen Ära. Features in .NET, die Kalender mit mehreren Epochen unterstützen, und bewährte Methoden für die Arbeit mit Kalendern, die mehrere Epochen unterstützen, finden Sie unter Arbeiten mit Epochen.
TryParse(ReadOnlySpan<Char>, DateTime)
- Quelle:
- DateTime.cs
- Quelle:
- DateTime.cs
- Quelle:
- DateTime.cs
Konvertiert die angegebene Zeichenspanne einer Datums- und Uhrzeitangabe in deren DateTime-Äquivalent und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich ausgeführt wurde.
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 eine zu konvertierende Datums- und Zeitangabe enthält.
- result
- DateTime
Wenn diese Methode zurückgibt, enthält den Wert, der DateTime dem Datum und der Uhrzeit in s
entspricht, wenn die Konvertierung erfolgreich war, oder DateTime.MinValue , wenn die Konvertierung fehlgeschlagen ist. Die Konvertierung schlägt fehl, wenn der s
-Parameter null
bzw. eine leere Zeichenfolge ("") ist oder 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
Konvertiert die angegebene Zeichenfolgendarstellung einer Datums- und Uhrzeitangabe in deren DateTime-Entsprechung und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich ausgeführt wurde.
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 eine zu konvertierende Datums- und Zeitangabe enthält.
- result
- DateTime
Wenn diese Methode zurückgibt, enthält den Wert, der DateTime dem Datum und der Uhrzeit in s
entspricht, wenn die Konvertierung erfolgreich war, oder DateTime.MinValue , wenn die Konvertierung fehlgeschlagen ist. Die Konvertierung schlägt fehl, wenn der s
-Parameter null
bzw. eine leere Zeichenfolge ("") ist oder 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 Reihe von Datums- und Uhrzeitzeichenfolgen an die DateTime.TryParse(String, DateTime) -Methode übergeben.
using namespace System;
using namespace System::Globalization;
void main()
{
array<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 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);
for each (String^ dateString in dateStrings)
{
if (DateTime::TryParse(dateString, dateValue))
Console::WriteLine(" Converted '{0}' to {1} ({2}).", dateString,
dateValue, dateValue.Kind);
else
Console::WriteLine(" Unable to parse '{0}'.", dateString);
}
}
// The example displays the following output:
// 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 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).
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, das implizit von der aktuellen Kultur bereitgestellt wird.
Diese Methode versucht, unbekannte Daten nach Möglichkeit zu ignorieren, und füllt fehlende Monats-, Tages- und Jahresinformationen mit dem aktuellen Datum aus. Wenn s
nur ein Datum und keine Uhrzeit enthält, geht diese Methode davon aus, dass die Uhrzeit 12:00 Uhr Mitternacht ist. Wenn s
eine Datumskomponente mit einem zweistelligen Jahr eingeschlossen wird, wird sie im aktuellen Kalender der aktuellen Kultur basierend auf dem Wert der Calendar.TwoDigitYearMax Eigenschaft in ein Jahr konvertiert. Jedes führende, innere oder nachfolgende Leerzeichen in s
wird ignoriert. Datum und Uhrzeit können mit einem Paar von führenden und nachgestellten ZAHLENZEICHEN ('#', U+0023) in eine Klammer geklammert und 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 über verschiedene Gebietsschemas hinweg analysiert wird, verwenden Sie die DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) -Methode oder eine der Überladungen der TryParseExact -Methode, und geben Sie einen Formatbezeichner an.
Wenn s
die Zeichenfolgendarstellung eines Schalttags s
in einem Schaltjahr im aktuellen Kalender ist, analysiert die Methode erfolgreich. Wenn s
die Zeichenfolgendarstellung eines Schalttags in einem Nicht-Schaltjahr im aktuellen Kalender der aktuellen Kultur ist, schlägt der Analysevorgang fehl, und die -Methode gibt zurück false
.
Wenn s
keine Zeitzoneninformationen enthält, enthält einen DateTime Wert, result
dessen Kind Eigenschaft istDateTimeKind.Unspecified, wenn die Methode zurückgibt. Wenn die zu analysierende Zeichenfolge Zeitzoneninformationen enthält, enthält einen DateTime Wert, result
dessen Kind -Eigenschaft den Zeitpunkt der Rückgabe der -Methode aufweistDateTimeKind.Local.
Hinweise für Aufrufer
Die Formatierung wird von Eigenschaften des aktuellen DateTimeFormatInfo Objekts beeinflusst, die standardmäßig vom Element Regional- und Sprachoptionen in der Systemsteuerung abgeleitet werden. Die TryParse -Methode kann unerwartet fehlschlagen und zurückgeben False
, wenn die aktuellen DateSeparator Eigenschaften und TimeSeparator auf denselben Wert festgelegt sind.
Weitere Informationen
- Parse
- CultureInfo
- DateTimeFormatInfo
- Analysieren von Zeichenfolgen für Datum und Uhrzeit in .NET Framework
- Standard-Formatzeichenfolgen für Datum und Uhrzeit
- Benutzerdefinierte Formatzeichenfolgen für Datum und Uhrzeit
- Beispiel: .NET Core-Hilfsprogramm zur Formatierung von WinForms (C#)
- Beispiel: .NET Core-Hilfsprogramm zur Formatierung von WinForms (Visual Basic)
Gilt für:
TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTime)
- Quelle:
- DateTime.cs
- Quelle:
- DateTime.cs
- Quelle:
- DateTime.cs
Versucht, eine Spanne 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
bereitstellt.
- result
- DateTime
Wenn diese Methode zurückgibt, enthält das Ergebnis der erfolgreichen s
Analyse oder einen undefinierten Wert bei Einem Fehler.
Gibt zurück
true
, wenn s
erfolgreich analysiert wurde, false
andernfalls .
Gilt für:
TryParse(String, IFormatProvider, DateTime)
- 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
bereitstellt.
- result
- DateTime
Wenn diese Methode zurückgibt, enthält das Ergebnis der erfolgreichen s
Analyse oder einen nicht definierten Wert bei Einem Fehler.
Gibt zurück
true
, wenn s
erfolgreich analysiert wurde, false
andernfalls .
Gilt für:
TryParse(String, IFormatProvider, DateTimeStyles, DateTime)
- Quelle:
- DateTime.cs
- Quelle:
- DateTime.cs
- Quelle:
- DateTime.cs
Konvertiert die angegebene Zeichenfolgendarstellung einer Datums- und Uhrzeitangabe unter Verwendung der angegebenen kulturspezifischen Formatierungsinformationen und des Formatierungsstils in die entsprechende DateTime und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich abgeschlossen wurde.
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 eine zu konvertierende Datums- und Zeitangabe enthält.
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen zu s
bereitstellt.
- styles
- DateTimeStyles
Eine bitweise Kombination von Enumerationswerten, die festlegt, wie das analysierte Datum in Bezug auf die aktuelle Zeitzone oder das aktuelle Datum interpretiert werden soll. Ein häufig angegebener Wert ist None.
- result
- DateTime
Wenn diese Methode zurückgibt, enthält den Wert, der DateTime dem Datum und der Uhrzeit in s
entspricht, wenn die Konvertierung erfolgreich war, oder DateTime.MinValue , wenn die Konvertierung fehlgeschlagen ist. Die Konvertierung schlägt fehl, wenn der s
-Parameter null
bzw. eine leere Zeichenfolge ("") ist oder 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. AssumeLocal und AssumeUniversal).
provider
eine neutrale Kultur und kann nicht in einem Analysevorgang verwendet werden.
Beispiele
Im folgenden Beispiel wird die DateTime.TryParse(String, IFormatProvider, DateTimeStyles, DateTime) -Methode veranschaulicht.
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 unter Ergänzende API-Hinweise für DateTime.TryParse.
Hinweise für Aufrufer
Die Formatierung wird von 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 Eigenschaften und TimeSeparator auf denselben Wert festgelegt sind.
Weitere Informationen
- Parse
- CultureInfo
- DateTimeFormatInfo
- Analysieren von Zeichenfolgen für Datum und Uhrzeit in .NET Framework
- Standard-Formatzeichenfolgen für Datum und Uhrzeit
- 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
Konvertiert die Spannendarstellung einer Datums- und Uhrzeitangabe unter Verwendung der angegebenen kulturspezifischen Formatierungsinformationen und des Formatierungsstils in das DateTime-Äquivalent und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich abgeschlossen wurde.
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 Zeichenspanne, die zu konvertierende Datums- und Uhrzeitwerte darstellt.
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen zu s
bereitstellt.
- styles
- DateTimeStyles
Eine bitweise Kombination von Enumerationswerten, die festlegt, wie das analysierte Datum in Bezug auf die aktuelle Zeitzone oder das aktuelle Datum interpretiert werden soll. Ein häufig angegebener Wert ist None.
- result
- DateTime
Wenn diese Methode zurückgibt, enthält den Wert, der DateTime dem Datum und der Uhrzeit in s
entspricht, wenn die Konvertierung erfolgreich war, oder DateTime.MinValue , wenn die Konvertierung fehlgeschlagen ist. Die Konvertierung schlägt fehl, wenn der s
-Parameter null
bzw. eine leere Zeichenfolge ("") ist oder 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
.