System.TimeSpan.TryParse 方法

本文提供此 API 參考文件的補充備註。

TryParse(System.String,System.TimeSpan@) 方法

方法 TimeSpan.TryParse(String, TimeSpan) 就像 TimeSpan.Parse(String) 方法,不同之處在於,如果轉換失敗,則不會擲回例外狀況。

參數 s 包含格式的時間間隔規格:

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

在方括號 ([ 和 ]) 中的項目是選擇性的項目。 必須從大括弧 ({ 和 }) 括住的替代專案清單中選取一個選取專案,並以垂直線分隔。|。 下表說明每個元素。

元素 描述
ws 選擇性的空格符。
- 選擇性減號,表示負數 TimeSpan
d 天,範圍從 0 到 10675199。
. 區分文化特性的符號,分隔天數與小時。 不變異格式會使用句號 (“.”) 字元。
hh 小時,範圍從 0 到 23。
區分文化特性的時間分隔符符號。 不變異格式會使用冒號 (“:”) 字元。
mm 分鐘,範圍從 0 到 59。
ss 選擇性秒,範圍從 0 到 59。
. 區分文化特性的符號,分隔秒數與秒數。 不變異格式會使用句號 (“.”) 字元。
ff 選擇性的小數秒,由一到七個小數字數組成。

s 元件必須共同指定大於或等於 TimeSpan.MinValue 且小於或等於 TimeSpan.MaxValue的時間間隔。

方法 Parse(String) 會嘗試使用目前文化特性的每個特定文化特性格式來剖析 s

TryParse(String, IFormatProvider, TimeSpan) 方法

方法 TryParse(String, IFormatProvider, TimeSpan) 就像 Parse(String, IFormatProvider) 方法,不同之處在於,如果轉換失敗,則不會擲回例外狀況。

參數 input 包含格式的時間間隔規格:

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

在方括號 ([ 和 ]) 中的項目是選擇性的項目。 必須從大括弧 ({ 和 }) 括住的替代專案清單中選取一個選取專案,並以垂直線分隔。|。 下表說明每個元素。

元素 描述
ws 選擇性的空格符。
- 選擇性減號,表示負數 TimeSpan
d 天,範圍從 0 到 10675199。
. 區分文化特性的符號,分隔天數與小時。 不變異格式會使用句號 (“.”) 字元。
hh 小時,範圍從 0 到 23。
區分文化特性的時間分隔符符號。 不變異格式會使用冒號 (“:”) 字元。
mm 分鐘,範圍從 0 到 59。
ss 選擇性秒,範圍從 0 到 59。
. 區分文化特性的符號,分隔秒數與秒數。 不變異格式會使用句號 (“.”) 字元。
ff 選擇性的小數秒,由一到七個小數字數組成。

input 元件必須共同指定大於或等於 TimeSpan.MinValue 且小於或等於的 TimeSpan.MaxValue時間間隔。

方法TryParse(String, IFormatProvider, TimeSpan)會嘗試使用 指定formatProvider文化特性的每個特定文化功能格式來剖析 input

參數 formatProvider 是實 IFormatProvider 作,提供傳回字串格式的文化特性特定資訊。 參數 formatProvider 可以是下列任一項:

如果 formatProvidernull,則會 DateTimeFormatInfo 使用與目前文化特性相關聯的物件。

給來電者的注意事項

在某些情況下,當要剖析之字串中的時間間隔元件包含七個以上的數位時,剖析在 .NET Framework 3.5 和舊版中成功傳回的作業可能會失敗,並在 .NET Framework 4 和更新版本中傳回truefalse。 下列範例說明此案例:

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'