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, das ein negatives TimeSpanangibt.
d Tage, von 0 bis 10675199.
. Ein kultursensibles Symbol, das Tage von Stunden trennt. Das invariante Format verwendet ein Punktzeichen (".")
hh Stunden von 0 bis 23.
: Das Kultursensitive Zeittrennzeichen. Das invariante Format verwendet ein Doppelpunkt (":") Zeichen.
mm Minuten zwischen 0 und 59.
ss 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, die einzelnen kulturspezifischen Formate für die aktuelle Kultur zu analysieren s .

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, das ein negatives TimeSpanangibt.
d Tage, von 0 bis 10675199.
. Ein kultursensibles Symbol, das Tage von Stunden trennt. Das invariante Format verwendet ein Punktzeichen (".")
hh Stunden von 0 bis 23.
: Das Kultursensitive Zeittrennzeichen. Das invariante Format verwendet ein Doppelpunkt (":") Zeichen.
mm Minuten zwischen 0 und 59.
ss 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, die einzelnen kulturspezifischen Formate für die durch formatProviderdie Kultur angegebene Kultur zu analysiereninput.

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 formatProvider ja null, wird das DateTimeFormatInfo Objekt verwendet, das der aktuellen Kultur zugeordnet ist.

Hinweise für Anrufer

Wenn eine zeitintervallige Komponente 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 zurückgegeben true wurden, in .NET Framework 4 und höher fehlschlagen und zurückgeben false . Das folgende Beispiel veranschaulicht dieses Szenario:

string value = "000000006";
TimeSpan interval;
if (TimeSpan.TryParse(value, out interval))
   Console.WriteLine("{0} --> {1}", value, interval);
else
   Console.WriteLine("Unable to parse '{0}'", 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'