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.MaxValue之间TimeSpan.MinValue;否则会引发异常。
返回值为新的 TimeSpan;原始 TimeSpan 值不会修改。