DateTimeOffset.Subtract メソッド

定義

現在の DateTimeOffset オブジェクトから、指定された時間または期間を減算します。

オーバーロード

Subtract(DateTimeOffset)

現在の DateTimeOffset オブジェクトから、特定の日時を表す DateTimeOffset 値を減算します。

Subtract(TimeSpan)

現在の DateTimeOffset オブジェクトから、指定された時間間隔を減算します。

Subtract(DateTimeOffset)

Source:
DateTimeOffset.cs
Source:
DateTimeOffset.cs
Source:
DateTimeOffset.cs

現在の DateTimeOffset オブジェクトから、特定の日時を表す DateTimeOffset 値を減算します。

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

パラメーター

value
DateTimeOffset

減算する値を表すオブジェクト。

戻り値

2 つの DateTimeOffset オブジェクト間の間隔を指定するオブジェクト。

次の例は、 メソッドを使用する減算を Subtract(DateTimeOffset) 示しています。

DateTimeOffset firstDate = new DateTimeOffset(2018, 10, 25, 18, 0, 0,
                                              new TimeSpan(-7, 0, 0));
DateTimeOffset secondDate = new DateTimeOffset(2018, 10, 25, 18, 0, 0,
                                               new TimeSpan(-5, 0, 0));
DateTimeOffset thirdDate = new DateTimeOffset(2018, 9, 28, 9, 0, 0,
                                              new TimeSpan(-7, 0, 0));
TimeSpan difference;

difference = firstDate.Subtract(secondDate);
Console.WriteLine($"({firstDate}) - ({secondDate}): {difference.Days} days, {difference.Hours}:{difference.Minutes:d2}");

difference = firstDate.Subtract(thirdDate);
Console.WriteLine($"({firstDate}) - ({thirdDate}): {difference.Days} days, {difference.Hours}:{difference.Minutes:d2}");

// The example produces the following output:
//    (10/25/2018 6:00:00 PM -07:00) - (10/25/2018 6:00:00 PM -05:00): 0 days, 2:00
//    (10/25/2018 6:00:00 PM -07:00) - (9/28/2018 9:00:00 AM -07:00): 27 days, 9:00
let firstDate = DateTimeOffset(2018, 10, 25, 18, 0, 0, TimeSpan(-7, 0, 0))
let secondDate = DateTimeOffset(2018, 10, 25, 18, 0, 0, TimeSpan(-5, 0, 0))
let thirdDate = DateTimeOffset(2018, 9, 28, 9, 0, 0, TimeSpan(-7, 0, 0))

let difference = firstDate.Subtract secondDate
printfn $"({firstDate}) - ({secondDate}): {difference.Days} days, {difference.Hours}:{difference.Minutes:d2}"

let difference = firstDate.Subtract thirdDate
printfn $"({firstDate}) - ({thirdDate}): {difference.Days} days, {difference.Hours}:{difference.Minutes:d2}"

// The example produces the following output:
//    (10/25/2018 6:00:00 PM -07:00) - (10/25/2018 6:00:00 PM -05:00): 0 days, 2:00
//    (10/25/2018 6:00:00 PM -07:00) - (9/28/2018 9:00:00 AM -07:00): 27 days, 9:00
Dim firstDate As New DateTimeOffset(#10/25/2018 6:00PM#, _
                                    New TimeSpan(-7, 0, 0))
Dim secondDate As New DateTimeOffset(#10/25/2018 6:00PM#, _
                                     New TimeSpan(-5, 0, 0))
Dim thirdDate As New DateTimeOffset(#9/28/2018 9:00AM#, _
                                    New TimeSpan(-7, 0, 0))
Dim difference As TimeSpan

difference = firstDate.Subtract(secondDate)
Console.WriteLine($"({firstDate}) - ({secondDate}): {difference.Days} days, {difference.Hours}:{difference.Minutes:d2}")

difference = firstDate.Subtract(thirdDate)
Console.WriteLine($"({firstDate}) - ({thirdDate}): {difference.Days} days, {difference.Hours}:{difference.Minutes:d2}")

' The example produces the following output:
'    (10/25/2018 6:00:00 PM -07:00) - (10/25/2018 6:00:00 PM -05:00): 0 days, 2:00
'    (10/25/2018 6:00:00 PM -07:00) - (9/28/2018 9:00:00 AM -07:00): 27 days, 9:00

注釈

このメソッドは、2 つのオブジェクトを分離する時間間隔を計算する前に、両方 DateTimeOffset のオブジェクトを協定世界時 (UTC) に変換します。 これにより、UTC からの異なるオフセットが比較に与える可能性のある影響はすべて削除されます。

Note

カスタム演算子をサポートする言語の場合は、減算演算子を使用して日付と時刻の減算を実行することもできます。 詳細については、 メソッドを Subtraction 参照してください。

現在 DateTimeOffset の オブジェクトも パラメーターも value 特定のタイム ゾーンの日付と時刻を表さないため、 Subtract(DateTimeOffset) メソッドは日付と時刻を減算するときに特定のタイム ゾーンの調整規則を考慮しません。

こちらもご覧ください

適用対象

Subtract(TimeSpan)

Source:
DateTimeOffset.cs
Source:
DateTimeOffset.cs
Source:
DateTimeOffset.cs

現在の DateTimeOffset オブジェクトから、指定された時間間隔を減算します。

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

パラメーター

value
TimeSpan

減算する時間間隔。

戻り値

現在の DateTimeOffset オブジェクトが表す日時から、value が表す時間間隔を減算した値と等価なオブジェクト。

例外

結果 DateTimeOffset の値が DateTimeOffset.MinValue 未満です

\- または -

結果 DateTimeOffset の値が DateTimeOffset.MaxValue より大きくなります。

次の例は、 メソッドを使用する減算を Subtract 示しています。

DateTimeOffset offsetDate = new DateTimeOffset(2007, 12, 3, 11, 30, 0,
                               new TimeSpan(-8, 0, 0));
TimeSpan duration = new TimeSpan(7, 18, 0, 0);
Console.WriteLine(offsetDate.Subtract(duration).ToString());  // Displays 11/25/2007 5:30:00 PM -08:00
let offsetDate = DateTimeOffset(2007, 12, 3, 11, 30, 0, TimeSpan(-8, 0, 0))
let duration = TimeSpan(7, 18, 0, 0)
printfn $"{offsetDate.Subtract duration}"  // Displays 11/25/2007 5:30:00 PM -08:00
Dim offsetDate As New DateTimeOffset(#12/3/2007 11:30AM#, _
                               New TimeSpan(-8, 0, 0)) 
Dim duration As New TimeSpan(7, 18, 0, 0)
Console.WriteLine(offsetDate.Subtract(duration))    ' Displays 11/25/2007 5:30:00 PM -08:00

注釈

メソッドを Subtract 使用すると、1 回の操作で複数の種類の時間間隔 (日、時間、分、秒、またはミリ秒) を減算できます。 その動作は、減算演算子を Subtraction(DateTimeOffset, TimeSpan) 定義する メソッドと同じです。 構造体ではDateTimeOffset、メソッド パラメーターに負の値を割り当てることで減算を実行できる特殊な加算メソッド (、AddHours、、 AddMinutesなどAddDays) もサポートされています。

Note

このメソッドは、新 DateTimeOffset しい オブジェクトを返します。 現在のオブジェクトの値は、その日時から減算 value しても変更されません。

メソッドはSubtract、オブジェクトOffsetの プロパティの値にはDateTimeOffset影響しません。 返される DateTimeOffset オブジェクトのオフセットは元のオブジェクトと同じです。

現在 DateTimeOffset の オブジェクトは特定のタイム ゾーンの日付と時刻を表していないため、 Subtract(TimeSpan) メソッドは減算を実行するときに特定のタイム ゾーンの調整規則を考慮しません。

こちらもご覧ください

適用対象