DateTime.Subtract Metoda

Definicja

Zwraca wartość, która wynika z odejmowania określonego czasu lub czasu trwania z wartości tego wystąpienia.

Przeciążenia

Subtract(TimeSpan)

Zwraca nowy DateTime element, który odejmuje określony czas trwania od wartości tego wystąpienia.

Subtract(DateTime)

Zwraca nowy TimeSpan element, który odejmuje określoną datę i godzinę od wartości tego wystąpienia.

Subtract(TimeSpan)

Zwraca nowy DateTime element, który odejmuje określony czas trwania od wartości tego wystąpienia.

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

Parametry

value
TimeSpan

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

Zwraca

Obiekt, który jest równy dacie i godzinie reprezentowanej przez to wystąpienie, minus interwał czasu reprezentowany przez value.

Wyjątki

Wynik jest mniejszy niż DateTime.MinValue lub większy niż DateTime.MaxValue.

Przykłady

W poniższym przykładzie pokazano metodę Subtract i operator odejmowania.

System::DateTime date1 = System::DateTime( 1996, 6, 3, 22, 15, 0 );
System::DateTime date2 = System::DateTime( 1996, 12, 6, 13, 2, 0 );
System::DateTime date3 = System::DateTime( 1996, 10, 12, 8, 42, 0 );

// diff1 gets 185 days, 14 hours, and 47 minutes.
System::TimeSpan diff1 = date2.Subtract( date1 );

// date4 gets 4/9/1996 5:55:00 PM.
System::DateTime date4 = date3.Subtract( diff1 );

// diff2 gets 55 days 4 hours and 20 minutes.
System::TimeSpan diff2 = date2 - date3;

// date5 gets 4/9/1996 5:55:00 PM.
System::DateTime date5 = date1 - diff2;
open System

let date1 = DateTime(1996, 6, 3, 22, 15, 0)
let date2 = DateTime(1996, 12, 6, 13, 2, 0)
let date3 = DateTime(1996, 10, 12, 8, 42, 0)

// diff1 gets 185 days, 14 hours, and 47 minutes.
let diff1 = date2.Subtract date1

// date4 gets 4/9/1996 5:55:00 PM.
let date4 = date3.Subtract diff1

// diff2 gets 55 days 4 hours and 20 minutes.
let diff2 = date2 - date3

// date5 gets 4/9/1996 5:55:00 PM.
let date5 = date1 - diff2
System.DateTime date1 = new System.DateTime(1996, 6, 3, 22, 15, 0);
System.DateTime date2 = new System.DateTime(1996, 12, 6, 13, 2, 0);
System.DateTime date3 = new System.DateTime(1996, 10, 12, 8, 42, 0);

// diff1 gets 185 days, 14 hours, and 47 minutes.
System.TimeSpan diff1 = date2.Subtract(date1);

// date4 gets 4/9/1996 5:55:00 PM.
System.DateTime date4 = date3.Subtract(diff1);

// diff2 gets 55 days 4 hours and 20 minutes.
System.TimeSpan diff2 = date2 - date3;

// date5 gets 4/9/1996 5:55:00 PM.
System.DateTime date5 = date1 - diff2;
Dim date1 As New System.DateTime(1996, 6, 3, 22, 15, 0)
Dim date2 As New System.DateTime(1996, 12, 6, 13, 2, 0)
Dim date3 As New System.DateTime(1996, 10, 12, 8, 42, 0)

Dim diff1 As System.TimeSpan
' diff1 gets 185 days, 14 hours, and 47 minutes.
diff1 = date2.Subtract(date1)

Dim date4 As System.DateTime
' date4 gets 4/9/1996 5:55:00 PM.
date4 = date3.Subtract(diff1)

Dim diff2 As System.TimeSpan
' diff2 gets 55 days 4 hours and 20 minutes.
diff2 = System.DateTime.op_Subtraction(date2, date3)

Dim date5 As System.DateTime
' date5 gets 4/9/1996 5:55:00 PM.
date5 = System.DateTime.op_Subtraction(date1, diff2)

Uwagi

Metoda Subtract(TimeSpan) zwraca datę, która jest określoną różnicą interwału czasu z bieżącego wystąpienia. Aby określić przedział czasu między dwiema datami, wywołaj metodę Subtract(DateTime) . Aby odjąć określony interwał czasu z bieżącego wystąpienia, wywołaj metodę , która dodaje ten interwał czasu do bieżącej daty i podaj wartość ujemną jako argument metody. Aby na przykład odjąć dwa miesiące od bieżącej daty, wywołaj metodę AddMonths(Int32) z wartością -2.

Ta metoda nie zmienia wartości tego DateTimeelementu . Zamiast tego zwraca nową DateTime wartość, której wartość jest wynikiem tej operacji.

Zazwyczaj DateTime.Subtract(TimeSpan) metoda odejmuje TimeSpan obiekt reprezentujący dodatni przedział czasu i zwraca wartość wcześniejszą DateTime niż data i godzina bieżącego wystąpienia. Jeśli TimeSpan jednak obiekt reprezentuje ujemny przedział czasu, DateTime.Subtract(TimeSpan) metoda zwraca wartość późniejszą DateTime niż data i godzina bieżącego wystąpienia.

Metoda DateTime.Subtract(TimeSpan) umożliwia odejmowanie przedziału czasu składającego się z więcej niż jednej jednostki czasu (na przykład określonej liczby godzin i określonej liczby minut). Aby odjąć pojedynczą jednostkę czasu (na przykład lata, miesiące lub dni) z DateTime wystąpienia, można przekazać ujemną wartość liczbową jako parametr do dowolnej z następujących metod:

  • AddYears, aby odjąć określoną liczbę lat od bieżącego wystąpienia daty i godziny.

  • AddMonths, aby odjąć określoną liczbę miesięcy od bieżącego wystąpienia daty i godziny.

  • AddDays, aby odjąć określoną liczbę dni od bieżącego wystąpienia daty i godziny.

  • AddHours, aby odjąć określoną liczbę godzin od bieżącego wystąpienia daty i godziny.

  • AddMinutes, aby odjąć określoną liczbę minut od bieżącego wystąpienia daty i godziny.

  • AddSeconds, aby odjąć określoną liczbę sekund od bieżącego wystąpienia daty i godziny.

  • AddMilliseconds, aby odjąć określoną liczbę milisekund od bieżącego wystąpienia daty i godziny.

  • AddTicks, aby odjąć określoną liczbę znaczników od bieżącego wystąpienia daty i godziny.

Zobacz też

Dotyczy

Subtract(DateTime)

Zwraca nowy TimeSpan element, który odejmuje określoną datę i godzinę od wartości tego wystąpienia.

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

Parametry

value
DateTime

Wartość daty i godziny do odejmowania.

Zwraca

Interwał czasu równy dacie i godzinie reprezentowanej przez to wystąpienie pomniejszonej o datę i godzinę reprezentowaną przez valueelement .

Wyjątki

Wynik jest mniejszy niż DateTime.MinValue lub większy niż DateTime.MaxValue.

Przykłady

W poniższym przykładzie pokazano metodę Subtract i operator odejmowania.

System::DateTime date1 = System::DateTime( 1996, 6, 3, 22, 15, 0 );
System::DateTime date2 = System::DateTime( 1996, 12, 6, 13, 2, 0 );
System::DateTime date3 = System::DateTime( 1996, 10, 12, 8, 42, 0 );

// diff1 gets 185 days, 14 hours, and 47 minutes.
System::TimeSpan diff1 = date2.Subtract( date1 );

// date4 gets 4/9/1996 5:55:00 PM.
System::DateTime date4 = date3.Subtract( diff1 );

// diff2 gets 55 days 4 hours and 20 minutes.
System::TimeSpan diff2 = date2 - date3;

// date5 gets 4/9/1996 5:55:00 PM.
System::DateTime date5 = date1 - diff2;
open System

let date1 = DateTime(1996, 6, 3, 22, 15, 0)
let date2 = DateTime(1996, 12, 6, 13, 2, 0)
let date3 = DateTime(1996, 10, 12, 8, 42, 0)

// diff1 gets 185 days, 14 hours, and 47 minutes.
let diff1 = date2.Subtract date1

// date4 gets 4/9/1996 5:55:00 PM.
let date4 = date3.Subtract diff1

// diff2 gets 55 days 4 hours and 20 minutes.
let diff2 = date2 - date3

// date5 gets 4/9/1996 5:55:00 PM.
let date5 = date1 - diff2
System.DateTime date1 = new System.DateTime(1996, 6, 3, 22, 15, 0);
System.DateTime date2 = new System.DateTime(1996, 12, 6, 13, 2, 0);
System.DateTime date3 = new System.DateTime(1996, 10, 12, 8, 42, 0);

// diff1 gets 185 days, 14 hours, and 47 minutes.
System.TimeSpan diff1 = date2.Subtract(date1);

// date4 gets 4/9/1996 5:55:00 PM.
System.DateTime date4 = date3.Subtract(diff1);

// diff2 gets 55 days 4 hours and 20 minutes.
System.TimeSpan diff2 = date2 - date3;

// date5 gets 4/9/1996 5:55:00 PM.
System.DateTime date5 = date1 - diff2;
Dim date1 As New System.DateTime(1996, 6, 3, 22, 15, 0)
Dim date2 As New System.DateTime(1996, 12, 6, 13, 2, 0)
Dim date3 As New System.DateTime(1996, 10, 12, 8, 42, 0)

Dim diff1 As System.TimeSpan
' diff1 gets 185 days, 14 hours, and 47 minutes.
diff1 = date2.Subtract(date1)

Dim date4 As System.DateTime
' date4 gets 4/9/1996 5:55:00 PM.
date4 = date3.Subtract(diff1)

Dim diff2 As System.TimeSpan
' diff2 gets 55 days 4 hours and 20 minutes.
diff2 = System.DateTime.op_Subtraction(date2, date3)

Dim date5 As System.DateTime
' date5 gets 4/9/1996 5:55:00 PM.
date5 = System.DateTime.op_Subtraction(date1, diff2)

Uwagi

Metoda Subtract(DateTime) określa różnicę między dwiema datami. Aby odjąć przedział czasu od bieżącego wystąpienia, wywołaj metodę Subtract(TimeSpan) . Aby odjąć określony interwał czasu z bieżącego wystąpienia, wywołaj metodę , która dodaje ten interwał czasu do bieżącej daty i podaj wartość ujemną jako argument metody. Aby na przykład odjąć dwa miesiące od bieżącej daty, wywołaj metodę AddMonths(Int32) z wartością -2.

Jeśli data i godzina bieżącego wystąpienia jest wcześniejsza niż value, metoda zwraca TimeSpan obiekt reprezentujący ujemny przedział czasu. Oznacza to, że wartość wszystkich jej właściwości innych niż zero (takich jak Days lub Ticks) jest ujemna.

Metoda Subtract(DateTime) nie uwzględnia wartości Kind właściwości dwóch DateTime wartości podczas wykonywania odejmowania. Przed odjęciem DateTime obiektów upewnij się, że obiekty reprezentują czasy w tej samej strefie czasowej. W przeciwnym razie wynik będzie zawierać różnicę między strefami czasowymi.

Uwaga

Metoda DateTimeOffset.Subtract(DateTimeOffset) uwzględnia różnicę między strefami czasowymi podczas wykonywania odejmowania.

Zobacz też

Dotyczy