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
物件,表示要減去的值。
傳回
物件,指定兩個 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
所代表的時間間隔。
例外狀況
範例
下列範例說明使用 方法的 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 也支援特殊的加法方法 (,例如 AddDays 、 AddHours 和 AddMinutes) ,可讓您藉由將負值指派給方法參數來執行減法。
注意
這個方法會傳回新的 DateTimeOffset 物件。 它不會藉由從其日期和時間減去 value
來修改目前物件的值。
方法 Subtract 不會影響 DateTimeOffset 物件的 Offset 屬性值。 傳回 DateTimeOffset 的物件與原始物件具有相同的位移。
因為目前的 DateTimeOffset 物件不代表特定時區中的日期和時間, Subtract(TimeSpan) 所以此方法在執行減法時,不會考慮特定時區的調整規則。