TimeSpan.Parse Methode

Definition

Konvertiert die Zeichenfolgendarstellung eines Zeitintervalls in die entsprechende TimeSpan.

Überlädt

Parse(String)

Konvertiert die Zeichenfolgendarstellung eines Zeitintervalls in die entsprechende TimeSpan.

Parse(ReadOnlySpan<Char>, IFormatProvider)

Konvertiert die Spannendarstellung eines Zeitintervalls unter Verwendung der angegebenen kulturspezifischen Formatierungsinformationen in die entsprechende TimeSpan.

Parse(String, IFormatProvider)

Konvertiert die Zeichenfolgendarstellung eines Zeitintervalls unter Verwendung der angegebenen kulturspezifischen Formatierungsinformationen in die entsprechende TimeSpan.

Parse(String)

Konvertiert die Zeichenfolgendarstellung eines Zeitintervalls in die entsprechende TimeSpan.

public:
 static TimeSpan Parse(System::String ^ s);
public static TimeSpan Parse (string s);
static member Parse : string -> TimeSpan
Public Shared Function Parse (s As String) As TimeSpan

Parameter

s
String

Eine Zeichenfolge, die das zu konvertierende Zeitintervall angibt.

Gibt zurück

Ein Zeitintervall, das s entspricht.

Ausnahmen

s ist null.

Das Format von s ist ungültig.

s stellt eine Zahl dar, die kleiner als TimeSpan.MinValue oder größer als TimeSpan.MaxValue ist.

- oder -

Mindestens eine der Tages-, Stunden-, Minuten- oder Sekundenkomponenten liegt außerhalb des gültigen Bereichs.

Beispiele

Im folgenden Beispiel wird die Parse -Methode verwendet, um jedes Element in einem Zeichenfolgenarray in einen TimeSpan Wert zu konvertieren. Es ändert die aktuelle Systemkultur in Kroatisch ( Kroatien ("hr-HR") und Englisch - USA ("en-US"), um zu veranschaulichen, wie sich die aktuelle Systemkultur auf den Analysevorgang auswirkt.

using System;
using System.Globalization;
using System.Threading;

public class Example
{
   public static void Main()
   {
      string[] values = { "6", "6:12", "6:12:14", "6:12:14:45", 
                          "6.12:14:45", "6:12:14:45.3448", 
                          "6:12:14:45,3448", "6:34:14:45" };
      string[] cultureNames = { "hr-HR", "en-US"};
      
      // Change the current culture.
      foreach (string cultureName in cultureNames)
      {
         Thread.CurrentThread.CurrentCulture = new CultureInfo(cultureName);
         Console.WriteLine("Current Culture: {0}", 
                           Thread.CurrentThread.CurrentCulture.Name);
         foreach (string value in values)
         {
            try {
               TimeSpan ts = TimeSpan.Parse(value);
               Console.WriteLine("{0} --> {1}", value, ts.ToString("c"));
            }
            catch (FormatException) {
               Console.WriteLine("{0}: Bad Format", value);
            }   
            catch (OverflowException) {
               Console.WriteLine("{0}: Overflow", value);
            }
         } 
         Console.WriteLine();                                
      }
   }
}
// The example displays the following output:
//    Current Culture: hr-HR
//    6 --> 6.00:00:00
//    6:12 --> 06:12:00
//    6:12:14 --> 06:12:14
//    6:12:14:45 --> 6.12:14:45
//    6.12:14:45 --> 6.12:14:45
//    6:12:14:45.3448: Bad Format
//    6:12:14:45,3448 --> 6.12:14:45.3448000
//    6:34:14:45: Overflow
//    
//    Current Culture: en-US
//    6 --> 6.00:00:00
//    6:12 --> 06:12:00
//    6:12:14 --> 06:12:14
//    6:12:14:45 --> 6.12:14:45
//    6.12:14:45 --> 6.12:14:45
//    6:12:14:45.3448 --> 6.12:14:45.3448000
//    6:12:14:45,3448: Bad Format
//    6:34:14:45: Overflow
open System
open System.Globalization
open System.Threading

let values = 
    [| "6"; "6:12"; "6:12:14"; "6:12:14:45" 
       "6.12:14:45"; "6:12:14:45.3448" 
       "6:12:14:45,3448"; "6:34:14:45" |]
let cultureNames = [| "hr-HR"; "en-US" |]

// Change the current culture.
for cultureName in cultureNames do
    Thread.CurrentThread.CurrentCulture <- CultureInfo cultureName
    printfn $"Current Culture: {Thread.CurrentThread.CurrentCulture.Name}" 
    for value in values do
        try 
            let ts = TimeSpan.Parse value
            printfn $"{value} --> {ts:c}"
        with 
        | :? FormatException ->
            printfn $"{value}: Bad Format"
        | :? OverflowException ->
            printfn $"{value}: Overflow"
    printfn ""                                
// The example displays the following output:
//    Current Culture: hr-HR
//    6 --> 6.00:00:00
//    6:12 --> 06:12:00
//    6:12:14 --> 06:12:14
//    6:12:14:45 --> 6.12:14:45
//    6.12:14:45 --> 6.12:14:45
//    6:12:14:45.3448: Bad Format
//    6:12:14:45,3448 --> 6.12:14:45.3448000
//    6:34:14:45: Overflow
//    
//    Current Culture: en-US
//    6 --> 6.00:00:00
//    6:12 --> 06:12:00
//    6:12:14 --> 06:12:14
//    6:12:14:45 --> 6.12:14:45
//    6.12:14:45 --> 6.12:14:45
//    6:12:14:45.3448 --> 6.12:14:45.3448000
//    6:12:14:45,3448: Bad Format
//    6:34:14:45: Overflow
Imports System.Globalization
Imports System.Threading

Module Example
   Public Sub Main()
      Dim values() As String = { "6", "6:12", "6:12:14", "6:12:14:45", 
                                 "6.12:14:45", "6:12:14:45.3448", 
                                 "6:12:14:45,3448", "6:34:14:45" }
      Dim cultureNames() As String = { "hr-HR", "en-US"}
      
      ' Change the current culture.
      For Each cultureName As String In cultureNames
         Thread.CurrentThread.CurrentCulture = New CultureInfo(cultureName)
         Console.WriteLine("Current Culture: {0}", 
                           Thread.CurrentThread.CurrentCulture.Name)
         For Each value As String In values
            Try
               Dim ts As TimeSpan = TimeSpan.Parse(value)
               Console.WriteLine("{0} --> {1}", value, ts.ToString("c"))
            Catch e As FormatException
               Console.WriteLine("{0}: Bad Format", value)
            Catch e As OverflowException
               Console.WriteLine("{0}: Overflow", value)
            End Try      
         Next 
         Console.WriteLine()                                
      Next
   End Sub
End Module
' The example displays the following output:
'       Current Culture: hr-HR
'       6 --> 6.00:00:00
'       6:12 --> 06:12:00
'       6:12:14 --> 06:12:14
'       6:12:14:45 --> 6.12:14:45
'       6.12:14:45 --> 6.12:14:45
'       6:12:14:45.3448: Bad Format
'       6:12:14:45,3448 --> 6.12:14:45.3448000
'       6:34:14:45: Overflow
'       
'       Current Culture: en-US
'       6 --> 6.00:00:00
'       6:12 --> 06:12:00
'       6:12:14 --> 06:12:14
'       6:12:14:45 --> 6.12:14:45
'       6.12:14:45 --> 6.12:14:45
'       6:12:14:45.3448 --> 6.12:14:45.3448000
'       6:12:14:45,3448: Bad Format
'       6:34:14:45: Overflow

Hinweise

Der s Parameter enthält eine Zeitintervallspezifikation im Format:

[ws] [-] { d | [d.] 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 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 zwischen 0 und 10675199.
. Ein kulturabhängiges Symbol, das Tage von Stunden trennt. Das invariante Format verwendet ein Punktzeichen (".").
hh Stunden im Bereich von 0 bis 23.
: Das kulturabhängige Zeittrennzeichensymbol. Für das invariante Format wird ein Doppelpunkt (":") verwendet.
mm Minuten zwischen 0 und 59.
ss Optionale Sekunden im Bereich von 0 bis 59.
. Ein kulturabhängiges Symbol, das Sekunden von Sekundenbruchteilen trennt. Das invariante Format verwendet ein Punktzeichen (".").
Ff Optionale Sekundenbruchteile, bestehend aus einer bis sieben Dezimalstellen.

Wenn das s Argument nicht nur ein Tagwert ist, muss es eine Stunden- und eine Minutenkomponente enthalten; andere Komponenten sind optional. Wenn sie vorhanden sind, müssen die Werte jeder Zeitkomponente innerhalb eines angegebenen Bereichs liegen. Beispielsweise muss der Wert von hh, der Stundenkomponente, zwischen 0 und 23 betragen. Daher gibt das Übergeben von "23:00:00" an die Parse -Methode ein Zeitintervall von 23 Stunden zurück. Auf der anderen Seite gibt das Übergeben von "24:00:00" ein Zeitintervall von 24 Tagen zurück. Da "24" außerhalb des Bereichs der Stundenkomponente liegt, wird es als Tagekomponente interpretiert.

Die Komponenten von s müssen zusammen ein Zeitintervall angeben, das größer oder gleich TimeSpan.MinValue und kleiner oder gleich TimeSpan.MaxValueist.

Die Parse(String) -Methode versucht, die einzelnen kulturspezifischen Formate für die aktuelle Kultur zu analysieren s .

Hinweise für Anrufer

Wenn eine Zeitintervallkomponente in der zu analysierenden Zeichenfolge mehr als sieben Ziffern enthält, verhalten sich Analysevorgänge in der .NET Framework 3.5 und früheren Versionen möglicherweise anders als Analysevorgänge in der .NET Framework 4 und höheren Versionen. In einigen Fällen können Analysevorgänge, die in der .NET Framework 3.5 und früheren Versionen erfolgreich sind, fehlschlagen und eine OverflowException in der .NET Framework 4 und höher auslösen. In anderen Fällen können Analysevorgänge, die eine FormatException in der .NET Framework 3.5 und früheren Versionen auslösen, fehlschlagen und eine OverflowException in der .NET Framework 4 und höher auslösen. Im folgenden Beispiel werden beide Szenarien veranschaulicht.

string[] values = { "000000006", "12.12:12:12.12345678" };
foreach (string value in values)
{
   try {
      TimeSpan interval = TimeSpan.Parse(value);
      Console.WriteLine("{0} --> {1}", value, interval);
   }   
   catch (FormatException) {
      Console.WriteLine("{0}: Bad Format", value);
   }   
   catch (OverflowException) {
      Console.WriteLine("{0}: Overflow", value);
   }
}

// Output from .NET Framework 3.5 and earlier versions:
//       000000006 --> 6.00:00:00
//       12.12:12:12.12345678: Bad Format      
// Output from .NET Framework 4 and later versions or .NET Core:
//       000000006: Overflow
//       12.12:12:12.12345678: Overflow
open System

let values = [| "000000006"; "12.12:12:12.12345678" |]
for value in values do
    try
        let interval = TimeSpan.Parse value
        printfn $"{value} --> {interval}"   
    with
    | :? FormatException ->
        printfn $"{value}: Bad Format"
    | :? OverflowException ->
        printfn $"{value}: Overflow"

// Output from .NET Framework 3.5 and earlier versions:
//       000000006 --> 6.00:00:00
//       12.12:12:12.12345678: Bad Format      
// Output from .NET Framework 4 and later versions or .NET Core:
//       000000006: Overflow
//       12.12:12:12.12345678: Overflow
Dim values() As String = { "000000006", "12.12:12:12.12345678" }
For Each value As String In values
   Try
      Dim interval As TimeSpan = TimeSpan.Parse(value)
      Console.WriteLine("{0} --> {1}", value, interval)
   Catch e As FormatException
      Console.WriteLine("{0}: Bad Format", value)
   Catch e As OverflowException
      Console.WriteLine("{0}: Overflow", value)
   End Try         
Next
' Output from .NET Framework 3.5 and earlier versions:
'       000000006 --> 6.00:00:00
'       12.12:12:12.12345678: Bad Format      
' Output from .NET Framework 4:
'       000000006: Overflow
'       12.12:12:12.12345678: Overflow

Gilt für:

Parse(ReadOnlySpan<Char>, IFormatProvider)

Konvertiert die Spannendarstellung eines Zeitintervalls unter Verwendung der angegebenen kulturspezifischen Formatierungsinformationen in die entsprechende TimeSpan.

public static TimeSpan Parse (ReadOnlySpan<char> input, IFormatProvider? formatProvider = default);
public static TimeSpan Parse (ReadOnlySpan<char> input, IFormatProvider formatProvider = default);
static member Parse : ReadOnlySpan<char> * IFormatProvider -> TimeSpan
Public Shared Function Parse (input As ReadOnlySpan(Of Char), Optional formatProvider As IFormatProvider = Nothing) As TimeSpan

Parameter

input
ReadOnlySpan<Char>

Eine Spanne mit den Zeichen, die das zu konvertierende Zeitintervall darstellen.

formatProvider
IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.

Gibt zurück

Ein Zeitintervall, das input entspricht, wie von formatProvider angegeben.

Implementiert

Gilt für:

Parse(String, IFormatProvider)

Konvertiert die Zeichenfolgendarstellung eines Zeitintervalls unter Verwendung der angegebenen kulturspezifischen Formatierungsinformationen in die entsprechende TimeSpan.

public:
 static TimeSpan Parse(System::String ^ input, IFormatProvider ^ formatProvider);
public:
 static TimeSpan Parse(System::String ^ input, IFormatProvider ^ formatProvider) = IParsable<TimeSpan>::Parse;
public static TimeSpan Parse (string input, IFormatProvider formatProvider);
public static TimeSpan Parse (string input, IFormatProvider? formatProvider);
static member Parse : string * IFormatProvider -> TimeSpan
Public Shared Function Parse (input As String, formatProvider As IFormatProvider) As TimeSpan

Parameter

input
String

Eine Zeichenfolge, die das zu konvertierende Zeitintervall angibt.

formatProvider
IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen bereitstellt.

Gibt zurück

Ein Zeitintervall, das input entspricht, wie von formatProvider angegeben.

Implementiert

Ausnahmen

input ist null.

Das Format von input ist ungültig.

input stellt eine Zahl dar, die kleiner als TimeSpan.MinValue oder größer als TimeSpan.MaxValue ist.

- oder -

Mindestens eine der Komponenten für Tage, Stunden, Minuten oder Sekunden in input liegt außerhalb des zulässigen Bereichs.

Beispiele

Im folgenden Beispiel wird ein Array von CultureInfo -Objekten definiert und jedes Objekt in Aufrufen der Parse(String, IFormatProvider) -Methode verwendet, um die Elemente in einem Zeichenfolgenarray zu analysieren. Das Beispiel veranschaulicht, wie die Konventionen einer bestimmten Kultur den Formatierungsvorgang beeinflussen.

using System;
using System.Globalization;
using System.Text.RegularExpressions;

public class Example
{
   public static void Main()
   {
      string[] values = { "6", "6:12", "6:12:14", "6:12:14:45", 
                          "6.12:14:45", "6:12:14:45.3448", 
                          "6:12:14:45,3448", "6:34:14:45" };
      CultureInfo[] cultures = { new CultureInfo("en-US"), 
                                 new CultureInfo("ru-RU"),
                                 CultureInfo.InvariantCulture };
      
      string header = String.Format("{0,-17}", "String");
      foreach (CultureInfo culture in cultures)
         header += culture.Equals(CultureInfo.InvariantCulture) ? 
                      String.Format("{0,20}", "Invariant") :
                      String.Format("{0,20}", culture.Name);
      Console.WriteLine(header);
      Console.WriteLine();
      
      foreach (string value in values)
      {
         Console.Write("{0,-17}", value);
         foreach (CultureInfo culture in cultures)
         {
            try {
               TimeSpan ts = TimeSpan.Parse(value, culture);
               Console.Write("{0,20}", ts.ToString("c"));
            }
            catch (FormatException) {
               Console.Write("{0,20}", "Bad Format");
            }   
            catch (OverflowException) {
               Console.Write("{0,20}", "Overflow");
            }      
         }
         Console.WriteLine();                                
      }
   }
}
// The example displays the following output:
//    String                          en-US               ru-RU           Invariant
//    
//    6                          6.00:00:00          6.00:00:00          6.00:00:00
//    6:12                         06:12:00            06:12:00            06:12:00
//    6:12:14                      06:12:14            06:12:14            06:12:14
//    6:12:14:45                 6.12:14:45          6.12:14:45          6.12:14:45
//    6.12:14:45                 6.12:14:45          6.12:14:45          6.12:14:45
//    6:12:14:45.3448    6.12:14:45.3448000          Bad Format  6.12:14:45.3448000
//    6:12:14:45,3448            Bad Format  6.12:14:45.3448000          Bad Format
//    6:34:14:45                   Overflow            Overflow            Overflow
open System
open System.Globalization
open System.Text.RegularExpressions

let values = 
    [| "6"; "6:12"; "6:12:14"; "6:12:14:45" 
       "6.12:14:45"; "6:12:14:45.3448"
       "6:12:14:45,3448"; "6:34:14:45" |]
let cultures = 
    [| CultureInfo "en-US" 
       CultureInfo "ru-RU"
       CultureInfo.InvariantCulture |]

let mutable header = $"""{"String",-17}"""
for culture in cultures do
    header <- header +
        if culture.Equals CultureInfo.InvariantCulture then 
            $"""{"Invariant",20}"""
        else
            $"{culture.Name,20}"
printfn $"{header}\m"

for value in values do
    printf $"{value,-17}"
    for culture in cultures do
        try
            let ts = TimeSpan.Parse(value, culture)
            printf $"{ts,20:c}"
        with
        | :? FormatException ->
            printf $"""{"Bad Format",20}"""
        | :? OverflowException ->
            printf $"""{"Overflow",20}"""
    printfn ""                      
// The example displays the following output:
//    String                          en-US               ru-RU           Invariant
//    
//    6                          6.00:00:00          6.00:00:00          6.00:00:00
//    6:12                         06:12:00            06:12:00            06:12:00
//    6:12:14                      06:12:14            06:12:14            06:12:14
//    6:12:14:45                 6.12:14:45          6.12:14:45          6.12:14:45
//    6.12:14:45                 6.12:14:45          6.12:14:45          6.12:14:45
//    6:12:14:45.3448    6.12:14:45.3448000          Bad Format  6.12:14:45.3448000
//    6:12:14:45,3448            Bad Format  6.12:14:45.3448000          Bad Format
//    6:34:14:45                   Overflow            Overflow            Overflow
Imports System.Globalization
Imports System.Threading

Module Example
   Public Sub Main()
      Dim values() As String = { "6", "6:12", "6:12:14", "6:12:14:45", 
                                 "6.12:14:45", "6:12:14:45.3448", 
                                 "6:12:14:45,3448", "6:34:14:45" }
      Dim cultures() As CultureInfo = { New CultureInfo("en-US"), 
                                        New CultureInfo("ru-RU"),
                                        CultureInfo.InvariantCulture }
      
      Dim header As String = String.Format("{0,-17}", "String")
      For Each culture As CultureInfo In cultures
         header += If(culture.Equals(CultureInfo.InvariantCulture), 
                      String.Format("{0,20}", "Invariant"),
                      String.Format("{0,20}", culture.Name))
      Next
      Console.WriteLine(header)
      Console.WriteLine()
      
      For Each value As String In values
         Console.Write("{0,-17}", value)
         For Each culture As CultureInfo In cultures
            Try
               Dim ts As TimeSpan = TimeSpan.Parse(value, culture)
               Console.Write("{0,20}", ts.ToString("c"))
            Catch e As FormatException
               Console.Write("{0,20}", "Bad Format")
            Catch e As OverflowException
               Console.Write("{0,20}", "Overflow")
            End Try      
         Next
         Console.WriteLine()                                
      Next
   End Sub
End Module
' The example displays the following output:
'    String                          en-US               ru-RU           Invariant
'    
'    6                          6.00:00:00          6.00:00:00          6.00:00:00
'    6:12                         06:12:00            06:12:00            06:12:00
'    6:12:14                      06:12:14            06:12:14            06:12:14
'    6:12:14:45                 6.12:14:45          6.12:14:45          6.12:14:45
'    6.12:14:45                 6.12:14:45          6.12:14:45          6.12:14:45
'    6:12:14:45.3448    6.12:14:45.3448000          Bad Format  6.12:14:45.3448000
'    6:12:14:45,3448            Bad Format  6.12:14:45.3448000          Bad Format
'    6:34:14:45                   Overflow            Overflow            Overflow

Hinweise

Der input Parameter enthält eine Zeitintervallspezifikation im Format:

[ws] [-] { d | [d.] 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 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 zwischen 0 und 10675199.
. Ein kulturabhängiges Symbol, das Tage von Stunden trennt. Der Standardwert ist ein Punkt (".")-Zeichen.
hh Stunden im Bereich von 0 bis 23.
: Das kulturabhängige Zeittrennzeichensymbol.
mm Minuten zwischen 0 und 59.
ss Optionale Sekunden im Bereich von 0 bis 59.
. Ein kulturabhängiges Symbol, das Sekunden von Sekundenbruchteilen trennt. Der Standardwert ist ein Punkt (".")-Zeichen.
Ff Optionale Sekundenbruchteile, bestehend aus einer bis sieben Dezimalstellen.

Wenn das input Argument nicht nur ein Tagwert ist, muss es eine Stunden- und eine Minutenkomponente enthalten; andere Komponenten sind optional. Wenn sie vorhanden sind, müssen die Werte jeder Zeitkomponente innerhalb eines angegebenen Bereichs liegen. Beispielsweise muss der Wert von hh, der Stundenkomponente, zwischen 0 und 23 betragen. Daher gibt das Übergeben von "23:00:00" an die Parse -Methode ein Zeitintervall von 23 Stunden zurück. Auf der anderen Seite gibt das Übergeben von "24:00:00" ein Zeitintervall von 24 Tagen zurück. Da "24" außerhalb des Bereichs der Stundenkomponente liegt, wird es als Tagekomponente interpretiert.

Die Komponenten von input müssen zusammen ein Zeitintervall angeben, das größer oder gleich TimeSpan.MinValue und kleiner oder gleich TimeSpan.MaxValueist.

Die Parse(String) -Methode versucht, die einzelnen kulturspezifischen Formate für die durch formatProviderangegebene Kultur zu analysiereninput.

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

Wenn formatProvider ist null, wird das DateTimeFormatInfo Objekt verwendet, das der aktuellen Kultur zugeordnet ist.

Hinweise für Anrufer

Wenn eine Zeitintervallkomponente in der zu analysierenden Zeichenfolge mehr als sieben Ziffern enthält, verhalten sich Analysevorgänge in der .NET Framework 3.5 und früheren Versionen möglicherweise anders als Analysevorgänge in der .NET Framework 4 und höheren Versionen. In einigen Fällen können Analysevorgänge, die in der .NET Framework 3.5 und früheren Versionen erfolgreich sind, fehlschlagen und eine OverflowException in der .NET Framework 4 und höher auslösen. In anderen Fällen können Analysevorgänge, die eine FormatException in der .NET Framework 3.5 und früheren Versionen auslösen, fehlschlagen und eine OverflowException in der .NET Framework 4 und höher auslösen. Im folgenden Beispiel werden beide Szenarien veranschaulicht.

string[] values = { "000000006", "12.12:12:12.12345678" };
foreach (string value in values)
{
   try {
      TimeSpan interval = TimeSpan.Parse(value);
      Console.WriteLine("{0} --> {1}", value, interval);
   }   
   catch (FormatException) {
      Console.WriteLine("{0}: Bad Format", value);
   }   
   catch (OverflowException) {
      Console.WriteLine("{0}: Overflow", value);
   }
}

// Output from .NET Framework 3.5 and earlier versions:
//       000000006 --> 6.00:00:00
//       12.12:12:12.12345678: Bad Format      
// Output from .NET Framework 4 and later versions or .NET Core:
//       000000006: Overflow
//       12.12:12:12.12345678: Overflow
open System

let values = [| "000000006"; "12.12:12:12.12345678" |]
for value in values do
    try
        let interval = TimeSpan.Parse value
        printfn $"{value} --> {interval}"   
    with
    | :? FormatException ->
        printfn $"{value}: Bad Format"
    | :? OverflowException ->
        printfn $"{value}: Overflow"

// Output from .NET Framework 3.5 and earlier versions:
//       000000006 --> 6.00:00:00
//       12.12:12:12.12345678: Bad Format      
// Output from .NET Framework 4 and later versions or .NET Core:
//       000000006: Overflow
//       12.12:12:12.12345678: Overflow
Dim values() As String = { "000000006", "12.12:12:12.12345678" }
For Each value As String In values
   Try
      Dim interval As TimeSpan = TimeSpan.Parse(value)
      Console.WriteLine("{0} --> {1}", value, interval)
   Catch e As FormatException
      Console.WriteLine("{0}: Bad Format", value)
   Catch e As OverflowException
      Console.WriteLine("{0}: Overflow", value)
   End Try         
Next
' Output from .NET Framework 3.5 and earlier versions:
'       000000006 --> 6.00:00:00
'       12.12:12:12.12345678: Bad Format      
' Output from .NET Framework 4:
'       000000006: Overflow
'       12.12:12:12.12345678: Overflow

Gilt für: