DateTime.Subtract メソッド

定義

このインスタンスの値から指定した時刻または期間を減算した値を返します。

オーバーロード

Subtract(TimeSpan)

このインスタンスの値から指定した期間を減算した、新しい DateTime を返します。

Subtract(DateTime)

このインスタンスの値から指定した日時を減算した、新しい TimeSpan を返します。

Subtract(TimeSpan)

Source:
DateTime.cs
Source:
DateTime.cs
Source:
DateTime.cs

このインスタンスの値から指定した期間を減算した、新しい DateTime を返します。

public:
 DateTime Subtract(TimeSpan value);
public DateTime Subtract (TimeSpan value);
member this.Subtract : TimeSpan -> DateTime
Public Function Subtract (value As TimeSpan) As DateTime

パラメーター

value
TimeSpan

減算する時間間隔。

戻り値

このインスタンスで表された日付と時刻から value で表された時間間隔を減算した値と等しいオブジェクト。

例外

結果が DateTime.MinValue より小さいか、 DateTime.MaxValue より大きくなります。

次の例では、 Subtract メソッドと減算演算子を示します。

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)

注釈

メソッドは Subtract(TimeSpan) 、現在のインスタンスとの指定された時間間隔の差である日付を返します。 2 つの日付間の時間間隔を確認するには、 メソッドを Subtract(DateTime) 呼び出します。 現在のインスタンスから特定の時間間隔を減算するには、その時間間隔を現在の日付に追加する メソッドを呼び出し、メソッド引数として負の値を指定します。 たとえば、現在の日付から 2 か月を減算するには、-2 の値を指定して AddMonths(Int32) メソッドを呼び出します。

このメソッドでは、この DateTimeの値は変更されません。 代わりに、この操作の結果である値を持つ新しい DateTime が返されます。

通常、 メソッドは DateTime.Subtract(TimeSpan) 、正の期間を TimeSpan 表す オブジェクトを減算し、現在のインスタンスの日付と時刻より前の値を返 DateTime します。 ただし、 オブジェクトが負の TimeSpan 期間を表す場合、 DateTime.Subtract(TimeSpan) メソッドは現在の DateTime インスタンスの日付と時刻より後の値を返します。

DateTime.Subtract(TimeSpan)メソッドを使用すると、複数の時間単位 (特定の時間数や特定の分数など) で構成される時間間隔を減算できます。 インスタンスから DateTime 1 つの時間単位 (年、月、日など) を減算するには、負の数値をパラメーターとして次のいずれかのメソッドに渡します。

  • AddYears現在の日付と時刻のインスタンスから特定の年数を減算します。

  • AddMonths現在の日付と時刻のインスタンスから特定の月数を減算します。

  • AddDays現在の日付と時刻のインスタンスから特定の日数を減算します。

  • AddHours現在の日付と時刻のインスタンスから特定の時間数を減算します。

  • AddMinutes現在の日付と時刻のインスタンスから特定の分数を減算します。

  • AddSeconds現在の日付と時刻のインスタンスから特定の秒数を減算します。

  • AddMilliseconds現在の日付と時刻のインスタンスから特定のミリ秒数を減算します。

  • AddTicks現在の日付と時刻のインスタンスから特定のティック数を減算します。

こちらもご覧ください

適用対象

Subtract(DateTime)

Source:
DateTime.cs
Source:
DateTime.cs
Source:
DateTime.cs

このインスタンスの値から指定した日時を減算した、新しい TimeSpan を返します。

public:
 TimeSpan Subtract(DateTime value);
public TimeSpan Subtract (DateTime value);
member this.Subtract : DateTime -> TimeSpan
Public Function Subtract (value As DateTime) As TimeSpan

パラメーター

value
DateTime

減算する日付と時刻の値。

戻り値

このインスタンスで表された日付と時刻から value で表された日付と時刻を減算した値と等しい時間間隔。

例外

結果が DateTime.MinValue より小さいか、 DateTime.MaxValue より大きくなります。

次の例では、 Subtract メソッドと減算演算子を示します。

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)

注釈

メソッドは Subtract(DateTime) 、2 つの日付の差を決定します。 現在のインスタンスから時間間隔を減算するには、 メソッドを Subtract(TimeSpan) 呼び出します。 現在のインスタンスから特定の時間間隔を減算するには、その時間間隔を現在の日付に追加する メソッドを呼び出し、メソッド引数として負の値を指定します。 たとえば、現在の日付から 2 か月を減算するには、-2 の値を指定して AddMonths(Int32) メソッドを呼び出します。

現在のインスタンスの日付と時刻が よりも value前の場合、 メソッドは負の期間を TimeSpan 表す オブジェクトを返します。 つまり、ゼロ以外のすべてのプロパティ (や TicksなどDays) の値が負の値になります。

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

Note

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

こちらもご覧ください

適用対象