DateTimeOffset.Subtract メソッド

定義

現在の DateTimeOffset オブジェクトから、指定された時間または期間を減算します。Subtracts a specified time or duration from the current DateTimeOffset object.

オーバーロード

Subtract(DateTimeOffset)

現在の DateTimeOffset オブジェクトから、特定の日時を表す DateTimeOffset 値を減算します。Subtracts a DateTimeOffset value that represents a specific date and time from the current DateTimeOffset object.

Subtract(TimeSpan)

現在の DateTimeOffset オブジェクトから、指定された時間間隔を減算します。Subtracts a specified time interval from the current DateTimeOffset object.

Subtract(DateTimeOffset)

現在の DateTimeOffset オブジェクトから、特定の日時を表す DateTimeOffset 値を減算します。Subtracts a DateTimeOffset value that represents a specific date and time from the current DateTimeOffset object.

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

減算する値を表すオブジェクト。An object that represents the value to subtract.

戻り値

2 つの DateTimeOffset オブジェクト間の間隔を指定するオブジェクト。An object that specifies the interval between the two DateTimeOffset objects.

次の例は、Subtract(DateTimeOffset) メソッドを使用する減算を示しています。The following example illustrates subtraction that uses the Subtract(DateTimeOffset) method.

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

注釈

このメソッドは、両方の DateTimeOffset オブジェクトを世界協定時刻 (UTC) に変換してから、それらを分離する時間間隔を計算します。This method converts both DateTimeOffset objects to Coordinated Universal Time (UTC) before calculating the time interval that separates them. これにより、UTC からの異なるオフセットによって比較が発生する可能性がなくなります。This removes any effect that different offsets from UTC may have on the comparison.

注意

カスタム演算子をサポートする言語の場合は、減算演算子を使用して日付と時刻の減算を実行することもできます。For languages that support custom operators, you can also perform date and time subtraction by using the subtraction operator. 詳細については、Subtraction メソッドを参照してください。For details, see the Subtraction method.

現在の DateTimeOffset オブジェクトも value パラメーターも、特定のタイムゾーンの日付と時刻を表していないので、Subtract(DateTimeOffset) メソッドでは、日付と時刻を減算するときに特定のタイムゾーンの調整規則は考慮されません。Because neither the current DateTimeOffset object nor the value parameter represent the date and time in a specific time zone, the Subtract(DateTimeOffset) method does not consider a particular time zone's adjustment rules when it subtracts dates and times.

こちらもご覧ください

Subtract(TimeSpan)

現在の DateTimeOffset オブジェクトから、指定された時間間隔を減算します。Subtracts a specified time interval from the current DateTimeOffset object.

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

減算する時間間隔。The time interval to subtract.

戻り値

現在の DateTimeOffset オブジェクトが表す日時から、value が表す時間間隔を減算した値と等価なオブジェクト。An object that is equal to the date and time represented by the current DateTimeOffset object, minus the time interval represented by value.

例外

結果として得られる DateTimeOffset 値は MinValue より小さい値です。The resulting DateTimeOffset value is less than MinValue.

- または --or- 結果として得られる DateTimeOffset 値が MaxValue を超えています。The resulting DateTimeOffset value is greater than MaxValue.

次の例は、Subtract メソッドを使用する減算を示しています。The following example illustrates subtraction that uses the Subtract method.

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
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回の操作で複数の種類の時間間隔 (日、時間、分、秒、またはミリ秒) を減算できます。You can use the Subtract method to subtract more than one kind of time interval (days, hours, minutes, seconds, or milliseconds) in a single operation. その動作は、減算演算子を定義する Subtraction(DateTimeOffset, TimeSpan) メソッドと同じです。Its behavior is identical to the Subtraction(DateTimeOffset, TimeSpan) method, which defines the subtraction operator. DateTimeOffset 構造体は、メソッドパラメーターに負の値を代入することによって減算を実行できる、AddDaysAddHoursAddMinutesなどの特殊な追加メソッドもサポートしています。The DateTimeOffset structure also supports specialized addition methods (such as AddDays, AddHours, and AddMinutes) that allow you to perform subtraction by assigning a negative value to the method parameter.

注意

このメソッドは、新しい DateTimeOffset オブジェクトを返します。This method returns a new DateTimeOffset object. 日付と時刻に timeSpan を追加することによって、現在のオブジェクトの値を変更することはありません。It does not modify the value of the current object by adding timeSpan to its date and time.

Subtract メソッドは、DateTimeOffset オブジェクトの Offset プロパティの値には影響しません。The Subtract method does not affect the value of the DateTimeOffset object's Offset property. 返される DateTimeOffset オブジェクトは、元のオブジェクトと同じオフセットを持ちます。The returned DateTimeOffset object has the same offset as the original object.

現在の DateTimeOffset オブジェクトは特定のタイムゾーンの日付と時刻を表していないので、Subtract(TimeSpan) メソッドは、減算を実行するときに特定のタイムゾーンの調整規則を考慮しません。Because the current DateTimeOffset object does not represent the date and time in a specific time zone, the Subtract(TimeSpan) method does not consider a particular time zone's adjustment rules when it performs the subtraction.

こちらもご覧ください

適用対象