Sdílet prostřednictvím


Metody System.TimeSpan.TryParse

Tento článek obsahuje doplňující poznámky k referenční dokumentaci pro toto rozhraní API.

Metoda TryParse(System.String,System.TimeSpan@)

Metoda TimeSpan.TryParse(String, TimeSpan) je podobná TimeSpan.Parse(String) metodě, s tím rozdílem, že nevyvolá výjimku, pokud převod selže.

Parametr s obsahuje specifikaci časového intervalu ve formuláři:

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

Prvky v hranatých závorkách ([ a ]) jsou volitelné. Vyžaduje se jeden výběr ze seznamu alternativ uzavřených ve složených závorkách ({ a }) a oddělených svislými pruhy (|). Následující tabulka popisuje jednotlivé prvky.

Element (Prvek) Popis
Ws Volitelné prázdné místo.
- Volitelné znaménko minus, které označuje zápornou TimeSpan.
d Dny, od 0 do 10675199.
. Symbol závislý na jazykové verzi, který odděluje dny od hodin. Neutrální formát používá znak tečky (".").
hh Hodiny, od 0 do 23.
: Symbol oddělovače času zohledňující jazykovou verzi. Invariantní formát používá dvojtečku (":").
mm Minuty, od 0 do 59.
ss Volitelné sekundy, od 0 do 59.
. Symbol závislý na jazykové verzi, který odděluje sekundy od zlomků sekund. Neutrální formát používá znak tečky (".").
ff Volitelné sekundy ve zlomcích, obsahující jednu až sedm desítkových číslic.

Součásti s musí souhrnně určovat časový interval, který je větší než nebo roven TimeSpan.MinValue a menší nebo roven TimeSpan.MaxValue.

Metoda Parse(String) se pokusí analyzovat s pomocí jednotlivých formátů specifických pro jazykovou verzi pro aktuální jazykovou verzi.

TryParse(String, IFormatProvider, TimeSpan) Metoda

Metoda TryParse(String, IFormatProvider, TimeSpan) je podobná Parse(String, IFormatProvider) metodě, s tím rozdílem, že nevyvolá výjimku, pokud převod selže.

Parametr input obsahuje specifikaci časového intervalu ve formuláři:

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

Prvky v hranatých závorkách ([ a ]) jsou volitelné. Vyžaduje se jeden výběr ze seznamu alternativ uzavřených ve složených závorkách ({ a }) a oddělených svislými pruhy (|). Následující tabulka popisuje jednotlivé prvky.

Element (Prvek) Popis
Ws Volitelné prázdné místo.
- Volitelné znaménko minus, které označuje zápornou TimeSpan.
d Dny, od 0 do 10675199.
. Symbol závislý na jazykové verzi, který odděluje dny od hodin. Neutrální formát používá znak tečky (".").
hh Hodiny, od 0 do 23.
: Symbol oddělovače času zohledňující jazykovou verzi. Invariantní formát používá dvojtečku (":").
mm Minuty, od 0 do 59.
ss Volitelné sekundy, od 0 do 59.
. Symbol závislý na jazykové verzi, který odděluje sekundy od zlomků sekund. Neutrální formát používá znak tečky (".").
ff Volitelné sekundy ve zlomcích, obsahující jednu až sedm desítkových číslic.

Součásti input musí souhrnně určovat časový interval, který je větší nebo roven TimeSpan.MinValue nebo menší než nebo rovno TimeSpan.MaxValue.

Metoda TryParse(String, IFormatProvider, TimeSpan) se pokusí parsovat input pomocí každého z formátů specifických pro jazykovou verzi pro jazykovou verzi určenou jazykovou formatProviderverzí .

Parametr formatProvider je IFormatProvider implementace, která poskytuje informace specifické pro jazykovou verzi o formátu vráceného řetězce. Parametr formatProvider může být některý z následujících:

Pokud formatProvider ano null, DateTimeFormatInfo použije se objekt přidružený k aktuální jazykové verzi.

Poznámky volajícím

V některých případech, kdy součást časového intervalu v řetězci, která se má analyzovat, obsahuje více než sedm číslic, parsování operací, které proběhly úspěšně a vráceny true v rozhraní .NET Framework 3.5 a starších verzích, může selhat a vrátit false v rozhraní .NET Framework 4 a novějších verzích. Následující příklad ukazuje tento scénář:

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'