TimeSpan.Subtract(TimeSpan) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
public:
TimeSpan Subtract(TimeSpan ts);
public TimeSpan Subtract(TimeSpan ts);
member this.Subtract : TimeSpan -> TimeSpan
Public Function Subtract (ts As TimeSpan) As TimeSpan
參數
- ts
- TimeSpan
要減去的時間間隔。
傳回
一個新的時間區間,其值是該實例值減去 的 ts值。
例外狀況
回傳值小於 TimeSpan.MinValue ,或大於 TimeSpan.MaxValue。
範例
以下範例使用此 Subtract 方法計算單一值與陣列中每個時間區間之間的 TimeSpan 差異。 請注意,由於 TimeSpan 格式字串在結果字串中不包含負號,本範例使用條件邏輯來包含時間區間為負的負號。
TimeSpan baseTimeSpan = new TimeSpan(1, 12, 15, 16);
// Create an array of timespan intervals.
TimeSpan[] intervals = {
TimeSpan.FromDays(1.5),
TimeSpan.FromHours(1.5),
TimeSpan.FromMinutes(45),
TimeSpan.FromMilliseconds(505),
new TimeSpan(1, 17, 32, 20),
new TimeSpan(-8, 30, 0)
};
// Calculate a new time interval by adding each element to the base interval.
foreach (var interval in intervals)
Console.WriteLine(@"{0,-10:g} - {3}{1,15:%d\:hh\:mm\:ss\.ffff} = {4}{2:%d\:hh\:mm\:ss\.ffff}",
baseTimeSpan, interval, baseTimeSpan.Subtract(interval),
interval < TimeSpan.Zero ? "-" : "",
baseTimeSpan < interval.Duration() ? "-" : "");
// The example displays the following output:
// 1:12:15:16 - 1:12:00:00.0000 = 0:00:15:16.0000
// 1:12:15:16 - 0:01:30:00.0000 = 1:10:45:16.0000
// 1:12:15:16 - 0:00:45:00.0000 = 1:11:30:16.0000
// 1:12:15:16 - 0:00:00:00.5050 = 1:12:15:15.4950
// 1:12:15:16 - 1:17:32:20.0000 = -0:05:17:04.0000
// 1:12:15:16 - -0:07:30:00.0000 = 1:19:45:16.0000
open System
let baseTimeSpan = TimeSpan(1, 12, 15, 16)
// Create an array of timespan intervals.
let intervals =
[| TimeSpan.FromDays 1.5
TimeSpan.FromHours 1.5
TimeSpan.FromMinutes 45
TimeSpan.FromMilliseconds 505
TimeSpan(1, 17, 32, 20)
TimeSpan(-8, 30, 0) |]
// Calculate a new time interval by adding each element to the base interval.
for interval in intervals do
printfn $"""{baseTimeSpan,-10:g} - {if interval < TimeSpan.Zero then "-" else ""}{interval.ToString "%d\:hh\:mm\:ss\.ffff",15} = {if baseTimeSpan < interval.Duration() then "-" else ""}{baseTimeSpan.Subtract(interval).ToString"%d\:hh\:mm\:ss\.ffff"}"""
// The example displays the following output:
// 1:12:15:16 - 1:12:00:00.0000 = 0:00:15:16.0000
// 1:12:15:16 - 0:01:30:00.0000 = 1:10:45:16.0000
// 1:12:15:16 - 0:00:45:00.0000 = 1:11:30:16.0000
// 1:12:15:16 - 0:00:00:00.5050 = 1:12:15:15.4950
// 1:12:15:16 - 1:17:32:20.0000 = -0:05:17:04.0000
// 1:12:15:16 - -0:07:30:00.0000 = 1:19:45:16.0000
備註
回傳值必須介於 TimeSpan.MinValue 和 TimeSpan.MaxValue之間;否則會拋出例外。
回傳值為新 TimeSpan值;原始 TimeSpan 值未被修改。