DateTimeOffset.Subtract Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Вычитает указанное время или длительность из текущего объекта DateTimeOffset.
Перегрузки
| Subtract(DateTimeOffset) |
Вычитает значение DateTimeOffset, представляющее определенную дату и время, из текущего объекта DateTimeOffset. |
| Subtract(TimeSpan) |
Вычитает указанный интервал времени из текущего объекта DateTimeOffset. |
Subtract(DateTimeOffset)
- Исходный код:
- 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.
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) , метод не учитывает правила корректировки определенного часового пояса при выполнении вычитания.