# DateTime.Subtraction 演算子

## オーバーロード

 Subtraction(DateTime, DateTime) 指定した日付と時刻から指定したもう 1 つの日付と時刻を減算して、時間間隔を返します。 Subtraction(DateTime, TimeSpan) 指定した日付と時刻から指定した時間間隔を減算して、新しい日付と時刻を返します。

## Subtraction(DateTime, DateTime)

``````public:
static TimeSpan operator -(DateTime d1, DateTime d2);``````
``public static TimeSpan operator - (DateTime d1, DateTime d2);``
``static member ( - ) : DateTime * DateTime -> TimeSpan``
``Public Shared Operator - (d1 As DateTime, d2 As DateTime) As TimeSpan``

d1
DateTime

d2
DateTime

#### 戻り値

TimeSpan

`d1``d2` の間の時間間隔、つまり `d1` から `d2` を引いた値です。

### 例

``````System::DateTime date1 = System::DateTime( 1996, 6, 3, 22, 15, 0 );
System::DateTime date2 = System::DateTime( 1996, 12, 6, 13, 2, 0 );
System::DateTime date3 = System::DateTime( 1996, 10, 12, 8, 42, 0 );

// diff1 gets 185 days, 14 hours, and 47 minutes.
System::TimeSpan diff1 = date2.Subtract( date1 );

// date4 gets 4/9/1996 5:55:00 PM.
System::DateTime date4 = date3.Subtract( diff1 );

// diff2 gets 55 days 4 hours and 20 minutes.
System::TimeSpan diff2 = date2 - date3;

// date5 gets 4/9/1996 5:55:00 PM.
System::DateTime date5 = date1 - diff2;
``````
``````open System

let date1 = DateTime(1996, 6, 3, 22, 15, 0)
let date2 = DateTime(1996, 12, 6, 13, 2, 0)
let date3 = DateTime(1996, 10, 12, 8, 42, 0)

// diff1 gets 185 days, 14 hours, and 47 minutes.
let diff1 = date2.Subtract date1

// date4 gets 4/9/1996 5:55:00 PM.
let date4 = date3.Subtract diff1

// diff2 gets 55 days 4 hours and 20 minutes.
let diff2 = date2 - date3

// date5 gets 4/9/1996 5:55:00 PM.
let date5 = date1 - diff2
``````
``````System.DateTime date1 = new System.DateTime(1996, 6, 3, 22, 15, 0);
System.DateTime date2 = new System.DateTime(1996, 12, 6, 13, 2, 0);
System.DateTime date3 = new System.DateTime(1996, 10, 12, 8, 42, 0);

// diff1 gets 185 days, 14 hours, and 47 minutes.
System.TimeSpan diff1 = date2.Subtract(date1);

// date4 gets 4/9/1996 5:55:00 PM.
System.DateTime date4 = date3.Subtract(diff1);

// diff2 gets 55 days 4 hours and 20 minutes.
System.TimeSpan diff2 = date2 - date3;

// date5 gets 4/9/1996 5:55:00 PM.
System.DateTime date5 = date1 - diff2;
``````
``````Dim date1 As New System.DateTime(1996, 6, 3, 22, 15, 0)
Dim date2 As New System.DateTime(1996, 12, 6, 13, 2, 0)
Dim date3 As New System.DateTime(1996, 10, 12, 8, 42, 0)

Dim diff1 As System.TimeSpan
' diff1 gets 185 days, 14 hours, and 47 minutes.
diff1 = date2.Subtract(date1)

Dim date4 As System.DateTime
' date4 gets 4/9/1996 5:55:00 PM.
date4 = date3.Subtract(diff1)

Dim diff2 As System.TimeSpan
' diff2 gets 55 days 4 hours and 20 minutes.
diff2 = System.DateTime.op_Subtraction(date2, date3)

Dim date5 As System.DateTime
' date5 gets 4/9/1996 5:55:00 PM.
date5 = System.DateTime.op_Subtraction(date1, diff2)
``````

### 注釈

このメソッドでは Subtraction(DateTime, DateTime) 、減算を実行するときに、 Kind 2 つの DateTime 値のプロパティの値は考慮されません。 オブジェクトを減算する DateTime 前に、オブジェクトが同じタイム ゾーン内の時刻を表していることを確認します。 それ以外の場合、結果にはタイム ゾーン間の差が含まれます。

このメソッドでは DateTimeOffset.Subtraction(DateTimeOffset, DateTimeOffset) 、減算を実行するときにタイム ゾーン間の違いを考慮します。

この演算子の同等のメソッドは次のようになります。 DateTime.Subtract(DateTime)

## Subtraction(DateTime, TimeSpan)

``````public:
static DateTime operator -(DateTime d, TimeSpan t);``````
``public static DateTime operator - (DateTime d, TimeSpan t);``
``static member ( - ) : DateTime * TimeSpan -> DateTime``
``Public Shared Operator - (d As DateTime, t As TimeSpan) As DateTime``

d
DateTime

t
TimeSpan

#### 戻り値

DateTime

`d` の値から `t` の値を減算した値を保持するオブジェクト。

### 例

``````System::DateTime date1 = System::DateTime( 1996, 6, 3, 22, 15, 0 );
System::DateTime date2 = System::DateTime( 1996, 12, 6, 13, 2, 0 );
System::DateTime date3 = System::DateTime( 1996, 10, 12, 8, 42, 0 );

// diff1 gets 185 days, 14 hours, and 47 minutes.
System::TimeSpan diff1 = date2.Subtract( date1 );

// date4 gets 4/9/1996 5:55:00 PM.
System::DateTime date4 = date3.Subtract( diff1 );

// diff2 gets 55 days 4 hours and 20 minutes.
System::TimeSpan diff2 = date2 - date3;

// date5 gets 4/9/1996 5:55:00 PM.
System::DateTime date5 = date1 - diff2;
``````
``````open System

let date1 = DateTime(1996, 6, 3, 22, 15, 0)
let date2 = DateTime(1996, 12, 6, 13, 2, 0)
let date3 = DateTime(1996, 10, 12, 8, 42, 0)

// diff1 gets 185 days, 14 hours, and 47 minutes.
let diff1 = date2.Subtract date1

// date4 gets 4/9/1996 5:55:00 PM.
let date4 = date3.Subtract diff1

// diff2 gets 55 days 4 hours and 20 minutes.
let diff2 = date2 - date3

// date5 gets 4/9/1996 5:55:00 PM.
let date5 = date1 - diff2
``````
``````System.DateTime date1 = new System.DateTime(1996, 6, 3, 22, 15, 0);
System.DateTime date2 = new System.DateTime(1996, 12, 6, 13, 2, 0);
System.DateTime date3 = new System.DateTime(1996, 10, 12, 8, 42, 0);

// diff1 gets 185 days, 14 hours, and 47 minutes.
System.TimeSpan diff1 = date2.Subtract(date1);

// date4 gets 4/9/1996 5:55:00 PM.
System.DateTime date4 = date3.Subtract(diff1);

// diff2 gets 55 days 4 hours and 20 minutes.
System.TimeSpan diff2 = date2 - date3;

// date5 gets 4/9/1996 5:55:00 PM.
System.DateTime date5 = date1 - diff2;
``````
``````Dim date1 As New System.DateTime(1996, 6, 3, 22, 15, 0)
Dim date2 As New System.DateTime(1996, 12, 6, 13, 2, 0)
Dim date3 As New System.DateTime(1996, 10, 12, 8, 42, 0)

Dim diff1 As System.TimeSpan
' diff1 gets 185 days, 14 hours, and 47 minutes.
diff1 = date2.Subtract(date1)

Dim date4 As System.DateTime
' date4 gets 4/9/1996 5:55:00 PM.
date4 = date3.Subtract(diff1)

Dim diff2 As System.TimeSpan
' diff2 gets 55 days 4 hours and 20 minutes.
diff2 = System.DateTime.op_Subtraction(date2, date3)

Dim date5 As System.DateTime
' date5 gets 4/9/1996 5:55:00 PM.
date5 = System.DateTime.op_Subtraction(date1, diff2)
``````

### 注釈

このメソッドは、のティック値からティック値`t``d`を減算します。

この演算子の同等のメソッドは次のようになります。 DateTime.Subtract(DateTime)