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 使用して、1 つの 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 の 値は変更されません。
適用対象
こちらもご覧ください
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET