英語で読む

次の方法で共有


TimeSpan.Subtract(TimeSpan) メソッド

定義

指定した TimeSpan オブジェクトとこのインスタンスとの差を示す値を持つ、新しい TimeSpan オブジェクトを返します。

C#
public TimeSpan Subtract(TimeSpan ts);

パラメーター

ts
TimeSpan

減算される時間間隔。

戻り値

このインスタンスの値から ts の値を減算した結果を値とする新しい時間間隔。

例外

戻り値が TimeSpan.MinValue より小さいか、 TimeSpan.MaxValue より大きい。

次の例では、 メソッドを Subtract 使用して、1 つの TimeSpan 値と配列内の各時間間隔の差を計算します。 書式指定文字列には結果文字列に負の符号が含まれていないため TimeSpan 、この例では条件付きロジックを使用して、負の時間間隔の負の符号を含めます。

C#
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

注釈

戻り値は と のTimeSpan.MaxValueTimeSpan.MinValueである必要があります。それ以外の場合は例外がスローされます。

戻り値は新 TimeSpanしい です。元 TimeSpan の 値は変更されません。

適用対象

製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

こちらもご覧ください