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


DateTimeOffset.Subtract Метод

Определение

Вычитает указанное время или длительность из текущего DateTimeOffset объекта.

Перегрузки

Имя Описание
Subtract(DateTimeOffset)

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

Subtract(TimeSpan)

Вычитает указанный интервал времени из текущего DateTimeOffset объекта.

Subtract(DateTimeOffset)

Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
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)

Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
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.

Исключения

Полученное DateTimeOffset значение меньше DateTimeOffset.MinValue.

–или–

DateTimeOffset Полученное значение больше DateTimeOffset.MaxValue.

Примеры

В следующем примере показано вычитание, использующее 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) метод не рассматривает правила корректировки определенного часового пояса при выполнении вычитания.

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

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