DateTime.Subtract 方法

定義

所傳回結果值是將此執行個體的值減去指定時間或期間而得。

多載

Subtract(TimeSpan)

傳回會將指定期間從此執行個體的值減去的新 DateTime

Subtract(DateTime)

傳回會將指定日期和時間從此執行個體的值減去的新 TimeSpan

Subtract(TimeSpan)

傳回會將指定期間從此執行個體的值減去的新 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 所表示的時間間隔。

例外狀況

範例

下列範例示範 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) 會傳回與目前實例相異的指定時間間隔差異日期。 若要判斷兩個日期之間的時間間隔,請呼叫 Subtract(DateTime) 方法。 若要從目前的實例減去特定的時間間隔,請呼叫 將該時間間隔新增至目前日期的方法,並提供負值做為方法引數。 例如,若要從目前日期減去兩個月,請呼叫 AddMonths(Int32) 值為 -2 的 方法。

這個方法不會變更這個 DateTime 的值。 相反地,它會傳回新的 DateTime ,其值為此作業的結果。

一般而言, DateTime.Subtract(TimeSpan) 方法會 TimeSpan 減去代表正時間範圍的 物件,並傳回 DateTime 早于目前實例日期和時間的值。 不過,如果 TimeSpan 物件代表負時間範圍, DateTime.Subtract(TimeSpan) 此方法會 DateTime 傳回值,該值晚于目前實例的日期和時間。

方法 DateTime.Subtract(TimeSpan) 可讓您減去包含多個時間單位的時間間隔, (例如指定的時數和指定的分鐘數) 。 若要從 實例減去單一時間單位 (,例如年、月或日 DateTime) ,您可以將負數值當做參數傳遞至下列任何方法:

  • AddYears,表示從目前日期和時間實例減去特定年數。

  • AddMonths,表示從目前日期和時間實例減去特定月數。

  • AddDays,表示從目前日期和時間實例減去特定天數。

  • AddHours,表示從目前日期和時間實例減去特定時數。

  • AddMinutes,表示從目前日期和時間實例減去特定分鐘數。

  • AddSeconds,表示從目前日期和時間實例減去特定秒數。

  • AddMilliseconds,表示從目前日期和時間實例減去特定毫秒數。

  • AddTicks,表示從目前的日期和時間實例減去特定數目的刻度。

另請參閱

適用於

Subtract(DateTime)

傳回會將指定日期和時間從此執行個體的值減去的新 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 所表示的日期和時間。

例外狀況

範例

下列範例示範 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) 會決定兩個日期之間的差異。 若要從目前的實例減去時間間隔,請呼叫 Subtract(TimeSpan) 方法。 若要從目前的實例減去特定的時間間隔,請呼叫 將該時間間隔新增至目前日期的方法,並提供負值做為方法引數。 例如,若要從目前日期減去兩個月,請呼叫 AddMonths(Int32) 值為 -2 的 方法。

如果目前實例的日期和時間早于 value ,此方法會 TimeSpan 傳回代表負時間範圍的 物件。 也就是說,其所有非零屬性的值 (,例如 DaysTicks) 為負數。

當執行減法時,方法 Subtract(DateTime) 不會考慮 KindDateTime 個值的 屬性值。 在 DateTime 減去物件之前,請確定物件代表相同時區中的時間。 否則,結果會包含時區之間的差異。

注意

當執行減法時,方法 DateTimeOffset.Subtract(DateTimeOffset) 會考慮時區之間的差異。

另請參閱

適用於