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

物件,表示要減去的值。

傳回

物件,指定兩個 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)

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 所代表的時間間隔。

例外狀況

範例

下列範例說明使用 方法的 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 方法,在單一作業中減去一種以上的時間間隔 (天、小時、分鐘、秒或) 毫秒。 其行為與 Subtraction(DateTimeOffset, TimeSpan) 定義減法運算子的方法相同。 結構 DateTimeOffset 也支援特殊的加法方法 (,例如 AddDaysAddHoursAddMinutes) ,可讓您藉由將負值指派給方法參數來執行減法。

注意

這個方法會傳回新的 DateTimeOffset 物件。 它不會藉由從其日期和時間減去 value 來修改目前物件的值。

方法 Subtract 不會影響 DateTimeOffset 物件的 Offset 屬性值。 傳回 DateTimeOffset 的物件與原始物件具有相同的位移。

因為目前的 DateTimeOffset 物件不代表特定時區中的日期和時間, Subtract(TimeSpan) 所以此方法在執行減法時,不會考慮特定時區的調整規則。

另請參閱

適用於