DateTimeOffset.Subtract メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
現在の DateTimeOffset オブジェクトから、指定された時間または期間を減算します。
オーバーロード
Subtract(DateTimeOffset) |
現在の DateTimeOffset オブジェクトから、特定の日時を表す DateTimeOffset 値を減算します。 |
Subtract(TimeSpan) |
現在の DateTimeOffset オブジェクトから、指定された時間間隔を減算します。 |
Subtract(DateTimeOffset)
現在の 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
注釈
このメソッドは、オブジェクトを分離する時間間隔を計算する前に、両方 DateTimeOffset のオブジェクトを協定世界時 (UTC) に変換します。 これにより、比較に対して UTC から異なるオフセットが持つ可能性があるすべての効果が削除されます。
注意
カスタム演算子をサポートする言語の場合は、減算演算子を使用して日付と時刻の減算を実行することもできます。 詳細については、メソッドを Subtraction 参照してください。
現在 DateTimeOffset のオブジェクトと value
パラメーターはどちらも特定のタイム ゾーンの日付と時刻を表さないため、 Subtract(DateTimeOffset) 日付と時刻を減算するときに特定のタイム ゾーンの調整規則は考慮されません。
こちらもご覧ください
適用対象
Subtract(TimeSpan)
現在の 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、メソッド パラメーターに負の値を割り当てることで減算を実行できる特殊な加算メソッド (、 などAddDaysAddHoursAddMinutes) もサポートされています。
注意
このメソッドは、新しい DateTimeOffset オブジェクトを返します。 現在のオブジェクトの日付と時刻に追加 timeSpan
しても、現在のオブジェクトの値は変更されません。
このメソッドはSubtract、オブジェクトOffsetのプロパティの値にはDateTimeOffset影響しません。 返される DateTimeOffset オブジェクトのオフセットは元のオブジェクトと同じです。
現在 DateTimeOffset のオブジェクトは特定のタイム ゾーンの日付と時刻を表していないため、 Subtract(TimeSpan) 減算を実行するときに特定のタイム ゾーンの調整規則は考慮されません。