DateTimeOffset.TryParse Methode

Definition

Konvertiert eine angegebene Zeichenfolgendarstellung einer Datums- und Uhrzeitangabe in den entsprechenden DateTimeOffset.

Überlädt

TryParse(String, IFormatProvider, DateTimeStyles, DateTimeOffset)

Versucht, eine angegebene Zeichenfolgendarstellung einer Datums- und Uhrzeitangabe in deren DateTimeOffset-Entsprechung zu konvertieren, und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich durchgeführt wurde.

TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTimeOffset)

Versucht, eine angegebene Spannendarstellung einer Datums- und Uhrzeitangabe in deren DateTimeOffset-Entsprechung zu konvertieren, und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich durchgeführt wurde.

TryParse(String, IFormatProvider, DateTimeOffset)

Versucht, eine Zeichenfolge in einen Wert zu analysieren.

TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTimeOffset)

Versucht, eine Spanne von Zeichen in einen Wert zu analysieren.

TryParse(ReadOnlySpan<Char>, DateTimeOffset)

Versucht, eine angegebene Spannendarstellung einer Datums- und Uhrzeitangabe in deren DateTimeOffset-Entsprechung zu konvertieren, und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich durchgeführt wurde.

TryParse(String, DateTimeOffset)

Versucht, eine angegebene Zeichenfolgendarstellung einer Datums- und Uhrzeitangabe in deren DateTimeOffset-Entsprechung zu konvertieren, und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich durchgeführt wurde.

TryParse(String, IFormatProvider, DateTimeStyles, DateTimeOffset)

Source:
DateTimeOffset.cs
Source:
DateTimeOffset.cs
Source:
DateTimeOffset.cs

Versucht, eine angegebene Zeichenfolgendarstellung einer Datums- und Uhrzeitangabe in deren DateTimeOffset-Entsprechung zu konvertieren, und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich durchgeführt wurde.

public:
 static bool TryParse(System::String ^ input, IFormatProvider ^ formatProvider, System::Globalization::DateTimeStyles styles, [Runtime::InteropServices::Out] DateTimeOffset % result);
public static bool TryParse (string input, IFormatProvider formatProvider, System.Globalization.DateTimeStyles styles, out DateTimeOffset result);
public static bool TryParse (string? input, IFormatProvider? formatProvider, System.Globalization.DateTimeStyles styles, out DateTimeOffset result);
static member TryParse : string * IFormatProvider * System.Globalization.DateTimeStyles * DateTimeOffset -> bool
Public Shared Function TryParse (input As String, formatProvider As IFormatProvider, styles As DateTimeStyles, ByRef result As DateTimeOffset) As Boolean

Parameter

input
String

Eine Zeichenfolge, die eine zu konvertierende Datums- und Zeitangabe enthält.

formatProvider
IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen zu input bereitstellt.

styles
DateTimeStyles

Eine bitweise Kombination von Enumerationswerten, die das zulässige Format von input angibt.

result
DateTimeOffset

Wenn die Methode zurückgibt, enthält den Wert, der DateTimeOffset dem Datum und der Uhrzeit von inputentspricht, wenn die Konvertierung erfolgreich war, oder DateTimeOffset.MinValue, wenn bei der Konvertierung ein Fehler aufgetreten ist. Die Konvertierung schlägt fehl, wenn der input-Parameter null 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 input-Parameter erfolgreich konvertiert wird, andernfalls false.

Ausnahmen

styles beinhaltet einen nicht definierten DateTimeStyles-Wert.

- oder -

NoCurrentDateDefault wird nicht unterstützt.

- oder -

styles beinhaltet sich gegenseitig ausschließende DateTimeStyles-Werte.

Beispiele

Im folgenden Beispiel wird die TryParse(String, IFormatProvider, DateTimeStyles, DateTimeOffset) -Methode mit einer Vielzahl von DateTimeStyles Werten aufgerufen, um einige Zeichenfolgen mit verschiedenen Datums- und Uhrzeitformaten zu analysieren.

string dateString;
DateTimeOffset parsedDate;

dateString = "05/01/2008 6:00:00";
// Assume time is local
if (DateTimeOffset.TryParse(dateString, null as IFormatProvider,
                            DateTimeStyles.AssumeLocal,
                            out parsedDate))
   Console.WriteLine("'{0}' was converted to {1}.",
                     dateString, parsedDate.ToString());
else
   Console.WriteLine("Unable to parse '{0}'.", dateString);

// Assume time is UTC
if (DateTimeOffset.TryParse(dateString, null as IFormatProvider,
                            DateTimeStyles.AssumeUniversal,
                            out parsedDate))
   Console.WriteLine("'{0}' was converted to {1}.",
                     dateString, parsedDate.ToString());
else
   Console.WriteLine("Unable to parse '{0}'.", dateString);

// Parse and convert to UTC
dateString = "05/01/2008 6:00:00AM +5:00";
if (DateTimeOffset.TryParse(dateString, null as IFormatProvider,
                           DateTimeStyles.AdjustToUniversal,
                           out parsedDate))
   Console.WriteLine("'{0}' was converted to {1}.",
                     dateString, parsedDate.ToString());
else
   Console.WriteLine("Unable to parse '{0}'.", dateString);
// The example displays the following output to the console:
//    '05/01/2008 6:00:00' was converted to 5/1/2008 6:00:00 AM -07:00.
//    '05/01/2008 6:00:00' was converted to 5/1/2008 6:00:00 AM +00:00.
//    '05/01/2008 6:00:00AM +5:00' was converted to 5/1/2008 1:00:00 AM +00:00.
let dateString = "05/01/2008 6:00:00"
// Assume time is local
match DateTimeOffset.TryParse(dateString, null, DateTimeStyles.AssumeLocal) with
| true, parsedDate ->
    printfn $"'{dateString}' was converted to {parsedDate}."
| _ ->
    printfn $"Unable to parse '{dateString}'."

// Assume time is UTC
match DateTimeOffset.TryParse(dateString, null, DateTimeStyles.AssumeUniversal) with
| true, parsedDate ->
    printfn $"'{dateString}' was converted to {parsedDate}."
| _ ->
    printfn $"Unable to parse '{dateString}'."

// Parse and convert to UTC
let dateString = "05/01/2008 6:00:00AM +5:00"
match DateTimeOffset.TryParse(dateString, null, DateTimeStyles.AdjustToUniversal) with
| true, parsedDate ->
    printfn $"'{dateString}' was converted to {parsedDate}."
| _ ->
    printfn $"Unable to parse '{dateString}'."

// The example displays the following output to the console:
//    '05/01/2008 6:00:00' was converted to 5/1/2008 6:00:00 AM -07:00.
//    '05/01/2008 6:00:00' was converted to 5/1/2008 6:00:00 AM +00:00.
//    '05/01/2008 6:00:00AM +5:00' was converted to 5/1/2008 1:00:00 AM +00:00.
Dim dateString As String
Dim parsedDate As DateTimeOffset

dateString = "05/01/2008 6:00:00"
' Assume time is local 
If DateTimeOffset.TryParse(dateString, Nothing, _
                           DateTimeStyles.AssumeLocal, _
                           parsedDate) Then
   Console.WriteLine("'{0}' was converted to {1}.", _
                     dateString, parsedDate.ToString())
Else
   Console.WriteLine("Unable to parse '{0}'.", dateString)    
End If

' Assume time is UTC
If DateTimeOffset.TryParse(dateString, Nothing, _
                           DateTimeStyles.AssumeUniversal, _
                           parsedDate) Then
   Console.WriteLine("'{0}' was converted to {1}.", _
                     dateString, parsedDate.ToString())
Else
   Console.WriteLine("Unable to parse '{0}'.", dateString)    
End If

' Parse and convert to UTC 
dateString = "05/01/2008 6:00:00AM +5:00"
If DateTimeOffset.TryParse(dateString, Nothing, _
                           DateTimeStyles.AdjustToUniversal, _
                           parsedDate) Then
   Console.WriteLine("'{0}' was converted to {1}.", _
                     dateString, parsedDate.ToString())
Else
   Console.WriteLine("Unable to parse '{0}'.", dateString)    
End If
' The example displays the following output to the console:
'    '05/01/2008 6:00:00' was converted to 5/1/2008 6:00:00 AM -07:00.
'    '05/01/2008 6:00:00' was converted to 5/1/2008 6:00:00 AM +00:00.
'    '05/01/2008 6:00:00AM +5:00' was converted to 5/1/2008 1:00:00 AM +00:00.

Hinweise

Diese Überladung der TryParse(String, IFormatProvider, DateTimeStyles, DateTimeOffset) Methode ähnelt der -Methode, mit dem DateTimeOffset.Parse(String, IFormatProvider, DateTimeStyles) Unterschied, dass sie keine Ausnahme auslöst, wenn die Konvertierung fehlschlägt. Die Methode analysiert eine Zeichenfolge mit drei Elementen, die in beliebiger Reihenfolge angezeigt werden können und durch Leerzeichen getrennt sind. Diese drei Elemente werden in der folgenden Tabelle dargestellt.

Element Beispiel
<Date> "2/10/2007"
<Time> "1:02:03 PM"
<Offset> "-7:30"

Obwohl jedes dieser Elemente optional ist, <kann Offset> nicht selbst angezeigt werden. Sie muss zusammen mit <Datum> oder <Uhrzeit> bereitgestellt werden. Wenn <Date> fehlt, ist der Standardwert der aktuelle Tag. Wenn <Date> vorhanden ist, seine Jahreskomponente jedoch nur aus zwei Ziffern besteht, wird es basierend auf dem Wert der provider -Eigenschaft in ein Jahr im aktuellen Kalender des Calendar.TwoDigitYearMax Parameters konvertiert. Wenn <Time> fehlt, ist der Standardwert 12:00:00 Uhr. Wenn <Offset> fehlt, ist sein Standardwert der Offset der lokalen Zeitzone oder Zero , wenn entweder der DateTimeStyles.AdjustToUniversal Wert oder DateTimeStyles.AssumeUniversal in stylesangegeben wird. Wenn <Offset> vorhanden ist, kann es entweder einen negativen oder einen positiven Offset aus koordinierter Weltzeit (UTC) darstellen. In beiden Fällen muss Offset> ein Zeichensymbol enthalten, <oder die -Methode gibt zurückfalse.

Die input Zeichenfolge wird analysiert, indem die kulturspezifischen Formatierungsinformationen in einem DateTimeFormatInfo vom formatProvider Parameter bereitgestellten Objekt verwendet werden. Der formatProvider Parameter kann einer der folgenden Sein:

Darüber hinaus kann jedes Element durch führende oder nachfolgende Leerzeichen getrennt werden, und die <Komponenten Datum> und <Uhrzeit> können inneren Leerraum (z. B. 6: 00:00) enthalten. Nur die <Offset-Komponente> darf keinen inneren Leerraum enthalten.

Wenn provider ist null, wird das CultureInfo Objekt verwendet, das der aktuellen Kultur entspricht.

Das positive oder negative Zeichen, das in <Offset> verwendet wird, muss entweder + oder -sein. Sie wird nicht durch die PositiveSign Eigenschaften oder NegativeSign des Objekts definiert, das NumberFormatInfo von der formatprovider -Eigenschaft des NumberFormat Parameters zurückgegeben wird.

Die folgenden Member der DateTimeStyles Enumeration werden unterstützt:

DateTimeStyles-Member Kommentare
AdjustToUniversal Analysiert die von input dargestellte Zeichenfolge und konvertiert sie bei Bedarf in UTC. Dies entspricht dem Analysieren einer Zeichenfolge und dem aufrufen der Methode des ToUniversalTime() zurückgegebenen Objekts.
AllowInnerWhite Obwohl dieser Wert gültig ist, wird dieser Wert ignoriert. Innerer Leerraum ist in den <Komponenten Datum> und <Uhrzeit> zulässig.
AllowLeadingWhite Obwohl dieser Wert gültig ist, wird dieser Wert ignoriert. Führende Leerzeichen sind vor jeder Komponente in der analysierten Zeichenfolge zulässig.
AllowTrailingWhite Obwohl dieser Wert gültig ist, wird dieser Wert ignoriert. Nachfolgende Leerzeichen sind vor jeder Komponente in der analysierten Zeichenfolge zulässig.
AllowWhiteSpaces Dies ist das Standardverhalten. Es kann nicht überschrieben werden, indem ein restriktiverer DateTimeStyles Enumerationswert wie angegeben DateTimeStyles.Nonewird.
AssumeLocal Gibt an, dass, wenn dem input Parameter ein <Offset-Element> fehlt, der Offset der lokalen Zeitzone angegeben werden soll. Dies ist das Standardverhalten der TryParse(String, IFormatProvider, DateTimeStyles, DateTimeOffset) Methode.
AssumeUniversal Gibt an, dass, wenn dem input Parameter ein <Offset-Element> fehlt, der UTC-Offset (00:00) angegeben werden soll.
None Obwohl dieser Wert gültig ist, wird er ignoriert und hat keine Auswirkung.
RoundtripKind Da die DateTimeOffset Struktur keine Eigenschaft enthält Kind , hat dieser Wert keine Auswirkung.

Nur der DateTimeStyles.NoCurrentDateDefault Wert wird nicht unterstützt. Ein ArgumentException wird ausgelöst, wenn dieser Wert im styles Parameter enthalten ist.

Weitere Informationen

Gilt für:

TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTimeStyles, DateTimeOffset)

Source:
DateTimeOffset.cs
Source:
DateTimeOffset.cs
Source:
DateTimeOffset.cs

Versucht, eine angegebene Spannendarstellung einer Datums- und Uhrzeitangabe in deren DateTimeOffset-Entsprechung zu konvertieren, und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich durchgeführt wurde.

public:
 static bool TryParse(ReadOnlySpan<char> input, IFormatProvider ^ formatProvider, System::Globalization::DateTimeStyles styles, [Runtime::InteropServices::Out] DateTimeOffset % result);
public static bool TryParse (ReadOnlySpan<char> input, IFormatProvider? formatProvider, System.Globalization.DateTimeStyles styles, out DateTimeOffset result);
public static bool TryParse (ReadOnlySpan<char> input, IFormatProvider formatProvider, System.Globalization.DateTimeStyles styles, out DateTimeOffset result);
static member TryParse : ReadOnlySpan<char> * IFormatProvider * System.Globalization.DateTimeStyles * DateTimeOffset -> bool
Public Shared Function TryParse (input As ReadOnlySpan(Of Char), formatProvider As IFormatProvider, styles As DateTimeStyles, ByRef result As DateTimeOffset) As Boolean

Parameter

input
ReadOnlySpan<Char>

Eine Zeichenspanne, die zu konvertierende Datums- und Uhrzeitwerte darstellt.

formatProvider
IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen zu input bereitstellt.

styles
DateTimeStyles

Eine bitweise Kombination von Enumerationswerten, die das zulässige Format von input angibt.

result
DateTimeOffset

Wenn die Methode zurückgibt, enthält den Wert, der DateTimeOffset dem Datum und der Uhrzeit von inputentspricht, wenn die Konvertierung erfolgreich war, oder DateTimeOffset.MinValue, wenn bei der Konvertierung ein Fehler aufgetreten ist. Die Konvertierung schlägt fehl, wenn der input-Parameter null 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 input-Parameter erfolgreich konvertiert wird, andernfalls false.

Gilt für:

TryParse(String, IFormatProvider, DateTimeOffset)

Source:
DateTimeOffset.cs
Source:
DateTimeOffset.cs
Source:
DateTimeOffset.cs

Versucht, eine Zeichenfolge in einen Wert zu analysieren.

public:
 static bool TryParse(System::String ^ s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] DateTimeOffset % result) = IParsable<DateTimeOffset>::TryParse;
public static bool TryParse (string? s, IFormatProvider? provider, out DateTimeOffset result);
static member TryParse : string * IFormatProvider * DateTimeOffset -> bool
Public Shared Function TryParse (s As String, provider As IFormatProvider, ByRef result As DateTimeOffset) As Boolean

Parameter

s
String

Die zu analysierende Zeichenfolge.

provider
IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen zu s bereitstellt.

result
DateTimeOffset

Wenn diese Methode zurückgibt, enthält das Ergebnis der erfolgreichen s Analyse oder einen undefinierten Wert bei Fehler.

Gibt zurück

true , wenn s erfolgreich analysiert wurde, falseandernfalls .

Gilt für:

TryParse(ReadOnlySpan<Char>, IFormatProvider, DateTimeOffset)

Source:
DateTimeOffset.cs
Source:
DateTimeOffset.cs
Source:
DateTimeOffset.cs

Versucht, eine Spanne von Zeichen in einen Wert zu analysieren.

public:
 static bool TryParse(ReadOnlySpan<char> s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] DateTimeOffset % result) = ISpanParsable<DateTimeOffset>::TryParse;
public static bool TryParse (ReadOnlySpan<char> s, IFormatProvider? provider, out DateTimeOffset result);
static member TryParse : ReadOnlySpan<char> * IFormatProvider * DateTimeOffset -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), provider As IFormatProvider, ByRef result As DateTimeOffset) As Boolean

Parameter

s
ReadOnlySpan<Char>

Die Spanne der zu analysierenden Zeichen.

provider
IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen zu s bereitstellt.

result
DateTimeOffset

Wenn diese Methode zurückgibt, enthält das Ergebnis der erfolgreichen Analyse oder einen nicht definierten sWert bei Fehler.

Gibt zurück

true , wenn s erfolgreich analysiert wurde, falseandernfalls .

Gilt für:

TryParse(ReadOnlySpan<Char>, DateTimeOffset)

Source:
DateTimeOffset.cs
Source:
DateTimeOffset.cs
Source:
DateTimeOffset.cs

Versucht, eine angegebene Spannendarstellung einer Datums- und Uhrzeitangabe in deren DateTimeOffset-Entsprechung zu konvertieren, und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich durchgeführt wurde.

public:
 static bool TryParse(ReadOnlySpan<char> input, [Runtime::InteropServices::Out] DateTimeOffset % result);
public static bool TryParse (ReadOnlySpan<char> input, out DateTimeOffset result);
static member TryParse : ReadOnlySpan<char> * DateTimeOffset -> bool
Public Shared Function TryParse (input As ReadOnlySpan(Of Char), ByRef result As DateTimeOffset) As Boolean

Parameter

input
ReadOnlySpan<Char>

Eine Zeichenspanne, die zu konvertierende Datums- und Uhrzeitwerte darstellt.

result
DateTimeOffset

Wenn die -Methode zurückgibt, enthält das DateTimeOffset Äquivalent zum Datum und zur Uhrzeit von input, wenn die Konvertierung erfolgreich war, oder DateTimeOffset.MinValue, wenn bei der Konvertierung ein Fehler aufgetreten ist. Die Konvertierung schlägt fehl, wenn der input-Parameter null 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 input-Parameter erfolgreich konvertiert wird, andernfalls false.

Gilt für:

TryParse(String, DateTimeOffset)

Source:
DateTimeOffset.cs
Source:
DateTimeOffset.cs
Source:
DateTimeOffset.cs

Versucht, eine angegebene Zeichenfolgendarstellung einer Datums- und Uhrzeitangabe in deren DateTimeOffset-Entsprechung zu konvertieren, und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich durchgeführt wurde.

public:
 static bool TryParse(System::String ^ input, [Runtime::InteropServices::Out] DateTimeOffset % result);
public static bool TryParse (string input, out DateTimeOffset result);
public static bool TryParse (string? input, out DateTimeOffset result);
static member TryParse : string * DateTimeOffset -> bool
Public Shared Function TryParse (input As String, ByRef result As DateTimeOffset) As Boolean

Parameter

input
String

Eine Zeichenfolge, die eine zu konvertierende Datums- und Zeitangabe enthält.

result
DateTimeOffset

Wenn die -Methode zurückgibt, enthält das DateTimeOffset Äquivalent zum Datum und zur Uhrzeit von input, wenn die Konvertierung erfolgreich war, oder DateTimeOffset.MinValue, wenn bei der Konvertierung ein Fehler aufgetreten ist. Die Konvertierung schlägt fehl, wenn der input-Parameter null 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 input-Parameter erfolgreich konvertiert wird, andernfalls false.

Beispiele

Im folgenden Beispiel wird die TryParse(String, DateTimeOffset) -Methode aufgerufen, um mehrere Zeichenfolgen mit verschiedenen Datums- und Uhrzeitformaten zu analysieren.

DateTimeOffset parsedDate;
string dateString;

// String with date only
dateString = "05/01/2008";
if (DateTimeOffset.TryParse(dateString, out parsedDate))
   Console.WriteLine("{0} was converted to {1}.",
                     dateString, parsedDate);

// String with time only
dateString = "11:36 PM";
if (DateTimeOffset.TryParse(dateString, out parsedDate))
   Console.WriteLine("{0} was converted to {1}.",
                     dateString, parsedDate);

// String with date and offset
dateString = "05/01/2008 +7:00";
if (DateTimeOffset.TryParse(dateString, out parsedDate))
   Console.WriteLine("{0} was converted to {1}.",
                     dateString, parsedDate);

// String with day abbreviation
dateString = "Thu May 01, 2008";
if (DateTimeOffset.TryParse(dateString, out parsedDate))
   Console.WriteLine("{0} was converted to {1}.",
                     dateString, parsedDate);

// String with date, time with AM/PM designator, and offset
dateString = "5/1/2008 10:00 AM -07:00";
if (DateTimeOffset.TryParse(dateString, out parsedDate))
   Console.WriteLine("{0} was converted to {1}.",
                     dateString, parsedDate);
// if (run on 3/29/07, the example displays the following output
// to the console:
//    05/01/2008 was converted to 5/1/2008 12:00:00 AM -07:00.
//    11:36 PM was converted to 3/29/2007 11:36:00 PM -07:00.
//    05/01/2008 +7:00 was converted to 5/1/2008 12:00:00 AM +07:00.
//    Thu May 01, 2008 was converted to 5/1/2008 12:00:00 AM -07:00.
//    5/1/2008 10:00 AM -07:00 was converted to 5/1/2008 10:00:00 AM -07:00.
// String with date only
let dateString = "05/01/2008"
match DateTimeOffset.TryParse dateString with
| true, parsedDate ->
    printfn $"{dateString} was converted to {parsedDate}."
| _ -> ()

// String with time only
let dateString = "11:36 PM"
match DateTimeOffset.TryParse dateString with
| true, parsedDate ->
    printfn $"{dateString} was converted to {parsedDate}."
| _ -> ()

// String with date and offset
let dateString = "05/01/2008 +7:00"
match DateTimeOffset.TryParse dateString with
| true, parsedDate ->
    printfn $"{dateString} was converted to {parsedDate}."
| _ -> ()

// String with day abbreviation
let dateString = "Thu May 01, 2008"
match DateTimeOffset.TryParse dateString with
| true, parsedDate ->
    printfn $"{dateString} was converted to {parsedDate}."
| _ -> ()

// String with date, time with AM/PM designator, and offset
let dateString = "5/1/2008 10:00 AM -07:00"
match DateTimeOffset.TryParse dateString with
| true, parsedDate ->
    printfn $"{dateString} was converted to {parsedDate}."
| _ -> ()

// if (run on 3/29/07, the example displays the following output
// to the console:
//    05/01/2008 was converted to 5/1/2008 12:00:00 AM -07:00.
//    11:36 PM was converted to 3/29/2007 11:36:00 PM -07:00.
//    05/01/2008 +7:00 was converted to 5/1/2008 12:00:00 AM +07:00.
//    Thu May 01, 2008 was converted to 5/1/2008 12:00:00 AM -07:00.
//    5/1/2008 10:00 AM -07:00 was converted to 5/1/2008 10:00:00 AM -07:00.
Dim parsedDate As DateTimeOffset
Dim dateString As String

' String with date only
dateString = "05/01/2008"
If DateTimeOffset.TryParse(dateString, parsedDate) Then _
   Console.WriteLine("{0} was converted to {1}.", _
                     dateString, parsedDate)

' String with time only
dateString = "11:36 PM"
If DateTimeOffset.TryParse(dateString, parsedDate) Then _
   Console.WriteLine("{0} was converted to {1}.", _
                     dateString, parsedDate)

' String with date and offset 
dateString = "05/01/2008 +7:00"
If DateTimeOffset.TryParse(dateString, parsedDate) Then _
   Console.WriteLine("{0} was converted to {1}.", _
                     dateString, parsedDate)

' String with day abbreviation
dateString = "Thu May 01, 2008"
If DateTimeOffset.TryParse(dateString, parsedDate) Then _
   Console.WriteLine("{0} was converted to {1}.", _
                     dateString, parsedDate)

' String with date, time with AM/PM designator, and offset
dateString = "5/1/2008 10:00 AM -07:00"
If DateTimeOffset.TryParse(dateString, parsedDate) Then _
   Console.WriteLine("{0} was converted to {1}.", _
                     dateString, parsedDate)
' If run on 3/29/07, the example displays the following output
' to the console:
'    05/01/2008 was converted to 5/1/2008 12:00:00 AM -07:00.
'    11:36 PM was converted to 3/29/2007 11:36:00 PM -07:00.
'    05/01/2008 +7:00 was converted to 5/1/2008 12:00:00 AM +07:00.
'    Thu May 01, 2008 was converted to 5/1/2008 12:00:00 AM -07:00.
'    5/1/2008 10:00 AM -07:00 was converted to 5/1/2008 10:00:00 AM -07:00.

Hinweise

Diese Überladung der TryParse(String, DateTimeOffset) Methode ähnelt der -Methode, mit dem DateTimeOffset.Parse(String) Unterschied, dass sie keine Ausnahme auslöst, wenn die Konvertierung fehlschlägt. Es analysiert eine Zeichenfolge mit drei Elementen, die in beliebiger Reihenfolge angezeigt werden können und durch Leerzeichen getrennt sind. Diese drei Elemente werden in der folgenden Tabelle dargestellt.

Element Beispiel
<Date> "2/10/2007"
<Time> "1:02:03 PM"
<Offset> "-7:30"

Obwohl jedes dieser Elemente optional ist, <kann Offset> nicht selbst angezeigt werden. Sie muss zusammen mit <Datum> oder <Uhrzeit> bereitgestellt werden. Wenn <Date> fehlt, ist der Standardwert der aktuelle Tag. Wenn <Date> vorhanden ist, seine Jahreskomponente jedoch nur aus zwei Ziffern besteht, wird es basierend auf dem Wert der Eigenschaft in ein Jahr im aktuellen Kalender der Calendar.TwoDigitYearMax aktuellen Kultur konvertiert. Wenn <Time> fehlt, ist der Standardwert 12:00:00 Uhr. Wenn <Offset> fehlt, ist sein Standardwert der Offset der lokalen Zeitzone. Wenn <Offset> vorhanden ist, kann es entweder einen negativen oder einen positiven Offset aus koordinierter Weltzeit (UTC) darstellen. In beiden Fällen muss Offset> ein Zeichensymbol enthalten, <oder die -Methode gibt zurückfalse.

Die input Zeichenfolge wird analysiert, indem die Formatierungsinformationen in einem DateTimeFormatInfo Objekt verwendet werden, das für die aktuelle Kultur initialisiert wurde. Um eine Zeichenfolge zu analysieren, die eine festgelegte Formatierung enthält, die nicht unbedingt der der aktuellen Kultur entspricht, verwenden Sie die TryParseExact -Methode, und geben Sie einen Formatbezeichner an.

Weitere Informationen

Gilt für: