Udostępnij za pośrednictwem


Metody System.TimeSpan.TryParse

Ten artykuł zawiera dodatkowe uwagi dotyczące dokumentacji referencyjnej dla tego interfejsu API.

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

Metoda TimeSpan.TryParse(String, TimeSpan) jest podobna TimeSpan.Parse(String) do metody, z tą różnicą, że nie zgłasza wyjątku, jeśli konwersja nie powiedzie się.

Parametr s zawiera specyfikację interwału czasu w formularzu:

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

Elementy w nawiasach kwadratowych ([ i ]) są opcjonalne. Jeden wybór z listy alternatyw ujęty w nawiasy klamrowe ({ i }) i oddzielony pionowymi słupkami (|) jest wymagany. W tabeli poniżej opisano każdy element.

Element opis
Ws Opcjonalny odstęp.
- Opcjonalny znak minus, który wskazuje ujemny TimeSpanznak .
d Dni w zakresie od 0 do 10675199.
. Specyficzny dla kultury symbol oddzielający dni od godzin. Format niezmienny wykorzystuje znak kropki („.”).
hh Godziny w zakresie od 0 do 23.
: Symbol separatora godzin specyficzny dla kultury. Niezmienny format używa znaku dwukropka (":").
mm Minuty w zakresie od 0 do 59.
ss Opcjonalna wartość sekund w zakresie od 0 do 59.
. Specyficzny dla kultury symbol oddzielający sekundy od ułamków sekund. Format niezmienny wykorzystuje znak kropki („.”).
ff Opcjonalna wartość ułamkowa sekund zawierająca od jednej do siedmiu cyfr po separatorze dziesiętnym.

Składniki s programu muszą zbiorczo określać przedział czasu większy lub równy TimeSpan.MinValue i mniejszy niż lub równy TimeSpan.MaxValue.

Metoda Parse(String) próbuje przeanalizować s przy użyciu każdego z formatów specyficznych dla kultury dla bieżącej kultury.

TryParse(String, IFormatProvider, TimeSpan) Metoda

Metoda jest podobna TryParse(String, IFormatProvider, TimeSpan)Parse(String, IFormatProvider) do metody, z tą różnicą, że nie zgłasza wyjątku, jeśli konwersja nie powiedzie się.

Parametr input zawiera specyfikację interwału czasu w formularzu:

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

Elementy w nawiasach kwadratowych ([ i ]) są opcjonalne. Jeden wybór z listy alternatyw ujęty w nawiasy klamrowe ({ i }) i oddzielony pionowymi słupkami (|) jest wymagany. W tabeli poniżej opisano każdy element.

Element opis
Ws Opcjonalny odstęp.
- Opcjonalny znak minus, który wskazuje ujemny TimeSpanznak .
d Dni w zakresie od 0 do 10675199.
. Specyficzny dla kultury symbol oddzielający dni od godzin. Format niezmienny wykorzystuje znak kropki („.”).
hh Godziny w zakresie od 0 do 23.
: Symbol separatora godzin specyficzny dla kultury. Niezmienny format używa znaku dwukropka (":").
mm Minuty w zakresie od 0 do 59.
ss Opcjonalna wartość sekund w zakresie od 0 do 59.
. Specyficzny dla kultury symbol oddzielający sekundy od ułamków sekund. Format niezmienny wykorzystuje znak kropki („.”).
ff Opcjonalna wartość ułamkowa sekund zawierająca od jednej do siedmiu cyfr po separatorze dziesiętnym.

Składniki input muszą zbiorczo określać przedział czasu, który jest większy lub równy TimeSpan.MinValue i mniejszy niż lub równy TimeSpan.MaxValue.

Metoda TryParse(String, IFormatProvider, TimeSpan) próbuje przeanalizować input przy użyciu każdego formatu specyficznego dla kultury dla kultury określonej przez formatProvider.

Parametr formatProvider jest implementacją IFormatProvider , która dostarcza informacje specyficzne dla kultury dotyczące formatu zwracanego ciągu. Parametr formatProvider może być dowolny z następujących:

Jeśli formatProvider jest nullto , DateTimeFormatInfo używany jest obiekt skojarzony z bieżącą kulturą.

Uwagi do osób wywołujących

W niektórych przypadkach, gdy składnik interwału czasu w ciągu do przeanalizowaności zawiera więcej niż siedem cyfr, analizowanie operacji, które zakończyły się pomyślnie i zwrócone true w programie .NET Framework 3.5 i wcześniejszych wersjach, może zakończyć się niepowodzeniem i powrócić false w programie .NET Framework 4 i nowszych wersjach. Poniższy przykład ilustruje ten scenariusz:

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'