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
可以是下列任一項:
- CultureInfo物件,表示格式設定慣例要反映在傳回字串中的文化特性。 屬性 DateTimeFormatInfo 所 CultureInfo.DateTimeFormat 傳回的物件會定義傳回字串的格式設定。
- DateTimeFormatInfo對象,定義傳回字串的格式。
- 實作 介面的 IFormatProvider 自定義物件。 其 IFormatProvider.GetFormat 方法會 DateTimeFormatInfo 傳回提供格式信息的物件。
如果 formatProvider
為 null
,則會 DateTimeFormatInfo 使用與目前文化特性相關聯的物件。
給來電者的注意事項
在某些情況下,當要剖析之字串中的時間間隔元件包含七個以上的數位時,剖析在 .NET Framework 3.5 和舊版中成功傳回的作業可能會失敗,並在 .NET Framework 4 和更新版本中傳回true
false
。 下列範例說明此案例:
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'