Freigeben über


System.TimeSpan.TryParse-Methoden

Dieser Artikel enthält ergänzende Hinweise zur Referenzdokumentation für diese API.

TryParse(System.String,System.TimeSpan@)-Methode

Die TimeSpan.TryParse(String, TimeSpan) Methode ähnelt der TimeSpan.Parse(String) Methode, mit der Ausnahme, dass sie keine Ausnahme auslöst, wenn die Konvertierung fehlschlägt.

Der s Parameter enthält eine Zeitintervallspezifikation im Formular:

[ws][-]{ d | d.hh:mm[:ss[.ff]] | hh:mm[:ss[.ff]] }[ws]

Elemente in eckigen Klammern ([ und ]) sind optional. Eine Auswahl aus der Liste der Alternativen, die in geschweifte Klammern ({ und }) eingeschlossen sind und durch vertikale Balken (|) getrennt sind, ist erforderlich. In der folgenden Tabelle wird jedes Element beschrieben.

Element BESCHREIBUNG
Ws Optionaler Leerraum.
- Ein optionales Minuszeichen, welches ein negatives TimeSpan anzeigt.
d Tage, von 0 bis 10675199.
. Ein kultursensibles Symbol, das Tage von Stunden trennt. Das invariante Format verwendet ein Punktzeichen (".")
Hh Stunden (0 bis 23).
: Das Kultursensitive Zeittrennzeichen. Das invariante Format verwendet ein Doppelpunkt (":") Zeichen.
Mm Minuten, von 0 bis 59.
ß Optionale Sekunden zwischen 0 und 59.
. Ein kulturempfindliches Symbol, das Sekunden von Bruchteilen einer Sekunde trennt. Das invariante Format verwendet ein Punktzeichen (".")
ff Optionale Bruchsekunden, die aus einer bis sieben Dezimalstellen bestehen.

Die Komponenten von s müssen gemeinsam ein Zeitintervall angeben, das größer oder gleich TimeSpan.MinValue und kleiner als oder gleich ist TimeSpan.MaxValue.

Die Parse(String) Methode versucht, s zu parsen, indem sie die einzelnen kulturspezifischen Formate für die aktuelle Kultur verwendet.

TryParse(String, IFormatProvider, TimeSpan)-Methode

Die TryParse(String, IFormatProvider, TimeSpan) Methode ähnelt der Parse(String, IFormatProvider) Methode, mit der Ausnahme, dass keine Ausnahme ausgelöst wird, wenn die Konvertierung fehlschlägt.

Der input Parameter enthält eine Zeitintervallspezifikation im Formular:

[ws][-]{ d | d.hh:mm[:ss[.ff]] | hh:mm[:ss[.ff]] }[ws]

Elemente in eckigen Klammern ([ und ]) sind optional. Eine Auswahl aus der Liste der Alternativen, die in geschweifte Klammern ({ und }) eingeschlossen sind und durch vertikale Balken (|) getrennt sind, ist erforderlich. In der folgenden Tabelle wird jedes Element beschrieben.

Element BESCHREIBUNG
Ws Optionaler Leerraum.
- Ein optionales Minuszeichen, welches ein negatives TimeSpan anzeigt.
d Tage, von 0 bis 10675199.
. Ein kultursensibles Symbol, das Tage von Stunden trennt. Das invariante Format verwendet ein Punktzeichen (".")
Hh Stunden (0 bis 23).
: Das Kultursensitive Zeittrennzeichen. Das invariante Format verwendet ein Doppelpunkt (":") Zeichen.
Mm Minuten, von 0 bis 59.
ß Optionale Sekunden zwischen 0 und 59.
. Ein kulturempfindliches Symbol, das Sekunden von Bruchteilen einer Sekunde trennt. Das invariante Format verwendet ein Punktzeichen (".")
ff Optionale Bruchsekunden, die aus einer bis sieben Dezimalstellen bestehen.

Die Komponenten von input müssen gemeinsam ein Zeitintervall angeben, das größer oder gleich TimeSpan.MinValue und kleiner als oder gleich ist TimeSpan.MaxValue.

Die TryParse(String, IFormatProvider, TimeSpan) Methode versucht, input zu analysieren, indem bei der durch formatProvider angegebenen Kultur die einzelnen kulturspezifischen Formate verwendet werden.

Der formatProvider Parameter ist eine IFormatProvider Implementierung, die kulturspezifische Informationen zum Format der zurückgegebenen Zeichenfolge bereitstellt. Der formatProvider Parameter kann eine der folgenden Sein:

Wenn formatProvidernull ist, wird das mit der aktuellen Kultur verbundene DateTimeFormatInfo-Objekt verwendet.

Hinweise für Aufrufer

Wenn eine Zeitschrittkomponente in der zu analysierenden Zeichenfolge mehr als sieben Ziffern enthält, können Analysevorgänge, die in .NET Framework 3.5 und früheren Versionen erfolgreich waren und true zurückgegeben haben, in .NET Framework 4 und höher fehlschlagen und false zurückgeben. Das folgende Beispiel veranschaulicht dieses Szenario:

string value = "000000006";
TimeSpan interval;
if (TimeSpan.TryParse(value, out interval))
   Console.WriteLine($"{value} --> {interval}");
else
   Console.WriteLine($"Unable to parse '{value}'");
   
// Output from .NET Framework 3.5 and earlier versions:
//       000000006 --> 6.00:00:00
// Output from .NET Framework 4:
//       Unable to parse //000000006//
let value = "000000006"
match TimeSpan.TryParse value with
| true, interval ->
    printfn $"{value} --> {interval}"
| _ ->
    printfn $"Unable to parse '{value}'"
    
// Output from .NET Framework 3.5 and earlier versions:
//       000000006 --> 6.00:00:00
// Output from .NET Framework 4:
//       Unable to parse //000000006//
Dim value As String = "000000006"
Dim interval As TimeSpan
If TimeSpan.TryParse(value, interval) Then
   Console.WriteLine("{0} --> {1}", value, interval)
Else
   Console.WriteLine("Unable to parse '{0}'", value)
End If
' Output from .NET Framework 3.5 and earlier versions:
'       000000006 --> 6.00:00:00
' Output from .NET Framework 4:
'       Unable to parse '000000006'