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:
- CultureInfo Obiekt reprezentujący kulturę, której konwencje formatowania mają być odzwierciedlone w zwracanym ciągu. Obiekt DateTimeFormatInfo zwracany przez CultureInfo.DateTimeFormat właściwość definiuje formatowanie zwracanego ciągu.
- DateTimeFormatInfo Obiekt, który definiuje formatowanie zwracanego ciągu.
- Obiekt niestandardowy, który implementuje IFormatProvider interfejs. Metoda IFormatProvider.GetFormat zwraca DateTimeFormatInfo obiekt, który udostępnia informacje o formatowaniu.
Jeśli formatProvider
jest null
to , 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'