TimeSpan.Subtract(TimeSpan) TimeSpan.Subtract(TimeSpan) TimeSpan.Subtract(TimeSpan) TimeSpan.Subtract(TimeSpan) Method

定義

指定した TimeSpan オブジェクトとこのインスタンスとの差を示す値を持つ、新しい TimeSpan オブジェクトを返します。Returns a new TimeSpan object whose value is the difference between the specified TimeSpan object and this instance.

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 TimeSpan TimeSpan TimeSpan

減算される時間間隔。The time interval to be subtracted.

戻り値

このインスタンスの値から ts の値を減算した結果を値とする新しい時間間隔。A new time interval whose value is the result of the value of this instance minus the value of ts.

例外

戻り値が MinValue 未満であるか、MaxValue を超えています。The return value is less than MinValue or greater than MaxValue.

次の例ではSubtract 、メソッドを使用して、配列TimeSpan内の1つの値と各時間間隔の差を計算します。The following example uses the Subtract method to calculate the difference between a single TimeSpan value and each of the time intervals in an array. 書式指定文字列にTimeSpanは結果の文字列に負の符号が含まれないため、この例では、条件ロジックを使用して負の時間間隔で負の符号を含めています。Note that, because TimeSpan format strings do not include negative signs in the result string, the example uses conditional logic to include a negative sign with negative time intervals.

using System;

public class Example
{
   public static void Main()
   {
      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.MinValue TimeSpan.MaxValueの間でなければなりません。それ以外の場合は、例外がスローされます。The return value must be between TimeSpan.MinValue and TimeSpan.MaxValue; otherwise, an exception is thrown.

戻り値は新しいTimeSpanです。元TimeSpanの値は変更されません。The return value is a new TimeSpan; the original TimeSpan is not modified.

適用対象

こちらもご覧ください