DateTimeOffset.Subtract Metoda

Definicja

Odejmuje określony czas lub czas trwania z bieżącego DateTimeOffset obiektu.

Przeciążenia

Subtract(DateTimeOffset)

Odejmuje DateTimeOffset wartość reprezentującą określoną datę i godzinę z bieżącego DateTimeOffset obiektu.

Subtract(TimeSpan)

Odejmuje określony interwał czasu z bieżącego DateTimeOffset obiektu.

Subtract(DateTimeOffset)

Źródło:
DateTimeOffset.cs
Źródło:
DateTimeOffset.cs
Źródło:
DateTimeOffset.cs

Odejmuje DateTimeOffset wartość reprezentującą określoną datę i godzinę z bieżącego DateTimeOffset obiektu.

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

Parametry

value
DateTimeOffset

Obiekt reprezentujący wartość do odejmowania.

Zwraca

Obiekt, który określa interwał między dwoma DateTimeOffset obiektami.

Przykłady

Poniższy przykład ilustruje odejmowanie, które używa Subtract(DateTimeOffset) metody .

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

Uwagi

Ta metoda konwertuje oba DateTimeOffset obiekty na uniwersalny czas koordynowany (UTC) przed obliczeniem interwału czasu, który je oddziela. Spowoduje to usunięcie efektu, który może mieć różne przesunięcia z czasu UTC w porównaniu.

Uwaga

W przypadku języków obsługujących operatory niestandardowe można również wykonać odejmowanie daty i godziny przy użyciu operatora odejmowania. Aby uzyskać szczegółowe informacje, zobacz metodę Subtraction .

Ponieważ ani bieżący DateTimeOffset obiekt, ani value parametr nie reprezentują daty i godziny w określonej strefie czasowej, Subtract(DateTimeOffset) metoda nie uwzględnia reguł korekty określonej strefy czasowej, gdy odejmuje daty i godziny.

Zobacz też

Dotyczy

Subtract(TimeSpan)

Źródło:
DateTimeOffset.cs
Źródło:
DateTimeOffset.cs
Źródło:
DateTimeOffset.cs

Odejmuje określony interwał czasu z bieżącego DateTimeOffset obiektu.

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

Parametry

value
TimeSpan

Interwał czasu, który należy odjąć.

Zwraca

Obiekt, który jest równy dacie i godzinie reprezentowanej przez bieżący DateTimeOffset obiekt, minus interwał czasu reprezentowany przez .value

Wyjątki

DateTimeOffset Wynikowa wartość jest mniejsza niż DateTimeOffset.MinValue.

-lub-

DateTimeOffset Wynikowa wartość jest większa niż DateTimeOffset.MaxValue.

Przykłady

Poniższy przykład ilustruje odejmowanie, które używa Subtract metody .

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

Uwagi

Za pomocą Subtract metody można odjąć więcej niż jeden rodzaj interwału czasu (dni, godziny, minuty, sekundy lub milisekundy) w jednej operacji. Jego zachowanie jest identyczne z Subtraction(DateTimeOffset, TimeSpan) metodą, która definiuje operator odejmowania. Struktura DateTimeOffset obsługuje również wyspecjalizowane metody dodawania (takie jak AddDays, AddHoursi AddMinutes), które umożliwiają odejmowanie przez przypisanie wartości ujemnej do parametru metody.

Uwaga

Ta metoda zwraca nowy DateTimeOffset obiekt. Nie modyfikuje wartości bieżącego obiektu, odejmując value ją od daty i godziny.

Metoda Subtract nie ma wpływu na wartość DateTimeOffset właściwości obiektu Offset . Zwrócony DateTimeOffset obiekt ma takie samo przesunięcie jak oryginalny obiekt.

Ponieważ bieżący DateTimeOffset obiekt nie reprezentuje daty i godziny w określonej strefie czasowej, Subtract(TimeSpan) metoda nie uwzględnia reguł korekty określonej strefy czasowej podczas wykonywania odejmowania.

Zobacz też

Dotyczy