本文提供此 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。 |
| 日 | 天,範圍從 0 到 10675199。 |
| . | 區分文化特性的符號,分隔天數與小時。 不變異格式會使用句號 (“.”) 字元。 |
| HH | 小時,範圍從 0 到 23。 |
| : | 因應文化的時間分隔符號。 不變異格式會使用冒號 (“:”) 字元。 |
| 毫米 | 分鐘,範圍從 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。 |
| 日 | 天,範圍從 0 到 10675199。 |
| . | 區分文化特性的符號,分隔天數與小時。 不變異格式會使用句號 (“.”) 字元。 |
| HH | 小時,範圍從 0 到 23。 |
| : | 因應文化的時間分隔符號。 不變異格式會使用冒號 (“:”) 字元。 |
| 毫米 | 分鐘,範圍從 0 到 59。 |
| ss | 選擇性秒,範圍從 0 到 59。 |
| . | 適應文化差異的符號,用來分隔秒與秒的小數部分。 不變異格式會使用句號 (“.”) 字元。 |
| ff | 小數秒數可以是選擇性的,由一到七個十進位數字構成。 |
input 的元件必須共同指定大於或等於 TimeSpan.MinValue 且小於或等於 TimeSpan.MaxValue的時間間隔。
TryParse(String, IFormatProvider, TimeSpan) 方法會嘗試使用 input所指定之文化的各種特定格式來剖析 formatProvider。
formatProvider 參數是 IFormatProvider 實作,可提供傳回字串格式的文化特性特定資訊。
formatProvider 參數可以是下列任一項:
- 代表文化特性的 CultureInfo 物件,其格式慣例將在所傳回的字串中反映出來。 DateTimeFormatInfo 屬性所傳回 CultureInfo.DateTimeFormat 物件會定義傳回字串的格式。
- 定義傳回字串格式的 DateTimeFormatInfo 物件。
- 實作 IFormatProvider 介面的自定義物件。 其 IFormatProvider.GetFormat 方法會傳回提供格式資訊的 DateTimeFormatInfo 物件。
如果 formatProvider 是 null,則會使用與目前文化特性相關聯的 DateTimeFormatInfo 物件。
呼叫者注意事項
在某些情況下,當要剖析之字串中的時間間隔元件包含七個以上的數位時,剖析在 .NET Framework 3.5 和舊版中成功並傳回 true 的作業可能會失敗,並在 .NET Framework 4 和更新版本中傳回 false。 下列範例說明此案例:
string value = "000000006";
TimeSpan interval;
if (TimeSpan.TryParse(value, out interval))
Console.WriteLine($"{value} --> {interval}");
else
Console.WriteLine($"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//
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'