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