Поделиться через


DateTime.Subtract Метод

Определение

Возвращает значение, полученное путем вычитания указанного времени или длительности из значения этого экземпляра.

Перегрузки

Subtract(TimeSpan)

Возвращает новый объект DateTime, который вычитает из значения этого экземпляра указанную длительность.

Subtract(DateTime)

Возвращает новый объект TimeSpan, который вычитает из значения этого экземпляра указанную дату и время.

Subtract(TimeSpan)

Исходный код:
DateTime.cs
Исходный код:
DateTime.cs
Исходный код:
DateTime.cs

Возвращает новый объект DateTime, который вычитает из значения этого экземпляра указанную длительность.

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

Параметры

value
TimeSpan

Вычитаемый интервал времени.

Возвращаемое значение

Объект, равный разнице между датой и временем, представленными этим экземпляром, и интервалом времени, представленным параметром value.

Исключения

Результат меньше DateTime.MinValue или больше DateTime.MaxValue.

Примеры

В следующем примере показаны Subtract метод и оператор вычитания.

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)

Комментарии

Метод Subtract(TimeSpan) возвращает дату, которая является указанной разницей интервала времени от текущего экземпляра. Чтобы определить интервал времени между двумя датами, вызовите Subtract(DateTime) метод . Чтобы вычесть определенный интервал времени из текущего экземпляра, вызовите метод, который добавляет этот интервал времени к текущей дате, и укажите отрицательное значение в качестве аргумента метода. Например, чтобы вычесть два месяца из текущей даты, вызовите AddMonths(Int32) метод со значением -2.

Этот метод не изменяет значение данного DateTimeобъекта . Вместо этого он возвращает новый DateTime объект , значение которого является результатом этой операции.

Обычно метод вычитает объект, представляющий положительный TimeSpan диапазон времени, DateTime.Subtract(TimeSpan) и возвращает DateTime значение, которое раньше даты и времени текущего экземпляра. Однако если TimeSpan объект представляет отрицательный интервал времени, DateTime.Subtract(TimeSpan) метод возвращает DateTime значение, которое позже даты и времени текущего экземпляра.

Метод DateTime.Subtract(TimeSpan) позволяет вычесть интервал времени, состоящий из нескольких единиц времени (например, заданное количество часов и заданное количество минут). Чтобы вычесть одну единицу времени (например, годы, месяцы или дни) из экземпляра DateTime , можно передать отрицательное числовое значение в качестве параметра в любой из следующих методов:

  • AddYears, чтобы вычесть определенное количество лет из текущего экземпляра даты и времени.

  • AddMonths, чтобы вычесть определенное количество месяцев из текущего экземпляра даты и времени.

  • AddDays, чтобы вычесть определенное количество дней из текущего экземпляра даты и времени.

  • AddHours, чтобы вычесть определенное количество часов из текущего экземпляра даты и времени.

  • AddMinutes, чтобы вычесть определенное количество минут из текущего экземпляра даты и времени.

  • AddSeconds, чтобы вычесть определенное количество секунд из текущего экземпляра даты и времени.

  • AddMilliseconds, чтобы вычесть определенное количество миллисекунд из текущего экземпляра даты и времени.

  • AddTicks, чтобы вычесть определенное количество тактов из текущего экземпляра даты и времени.

См. также раздел

Применяется к

Subtract(DateTime)

Исходный код:
DateTime.cs
Исходный код:
DateTime.cs
Исходный код:
DateTime.cs

Возвращает новый объект TimeSpan, который вычитает из значения этого экземпляра указанную дату и время.

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

Параметры

value
DateTime

Вычитаемые дата и время.

Возвращаемое значение

Интервал времени, равный разнице между датой и временем, представленными этим экземпляром, и датой и временем, представленными параметром value.

Исключения

Результат меньше DateTime.MinValue или больше DateTime.MaxValue.

Примеры

В следующем примере показаны Subtract метод и оператор вычитания.

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)

Комментарии

Метод Subtract(DateTime) определяет разницу между двумя датами. Чтобы вычесть интервал времени из текущего экземпляра Subtract(TimeSpan) , вызовите метод . Чтобы вычесть определенный интервал времени из текущего экземпляра, вызовите метод, который добавляет этот интервал времени к текущей дате, и укажите отрицательное значение в качестве аргумента метода. Например, чтобы вычесть два месяца из текущей даты, вызовите AddMonths(Int32) метод со значением -2.

Если дата и время текущего экземпляра раньше , метод valueвозвращает TimeSpan объект , представляющий отрицательный интервал времени. То есть значение всех его ненулевых свойств (например Days , или Ticks) является отрицательным.

Метод Subtract(DateTime) не учитывает значение Kind свойства двух DateTime значений при выполнении вычитания. Перед вычитанием DateTime объектов убедитесь, что объекты представляют время в одном часовом поясе. В противном случае результат будет включать разницу между часовых поясов.

Примечание

Метод DateTimeOffset.Subtract(DateTimeOffset) учитывает разницу между часовых поясами при выполнении вычитания.

См. также раздел

Применяется к