DateTimeOffset.Subtract Método

Definición

Resta una hora o duración especificada del objeto DateTimeOffset actual.

Sobrecargas

Subtract(DateTimeOffset)

Resta un valor DateTimeOffset que representa una fecha y hora concretas del objeto DateTimeOffset actual.

Subtract(TimeSpan)

Resta un intervalo de tiempo especificado del objeto DateTimeOffset actual.

Subtract(DateTimeOffset)

Resta un valor DateTimeOffset que representa una fecha y hora concretas del objeto DateTimeOffset actual.

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

Parámetros

value
DateTimeOffset

Objeto que representa el valor que se va a restar.

Devoluciones

Objeto que especifica el intervalo entre los dos objetos DateTimeOffset.

Ejemplos

En el ejemplo siguiente se muestra la resta que usa el Subtract(DateTimeOffset) método .

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

Comentarios

Este método convierte ambos DateTimeOffset objetos en hora universal coordinada (UTC) antes de calcular el intervalo de tiempo que los separa. Esto quita cualquier efecto que los desplazamientos diferentes de UTC puedan tener en la comparación.

Nota:

En el caso de los lenguajes que admiten operadores personalizados, también puede realizar la resta de fecha y hora mediante el operador de resta. Para más información, consulte el Subtraction método .

Dado que ni el objeto actual DateTimeOffset ni el value parámetro representan la fecha y hora en una zona horaria específica, el Subtract(DateTimeOffset) método no considera las reglas de ajuste de una zona horaria determinada cuando resta fechas y horas.

Consulte también

Se aplica a

Subtract(TimeSpan)

Resta un intervalo de tiempo especificado del objeto DateTimeOffset actual.

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

Parámetros

value
TimeSpan

Intervalo de hora que se van a restar.

Devoluciones

Objeto que es igual a la fecha y la hora representadas por el objeto DateTimeOffset actual, menos el intervalo de tiempo representado por value.

Excepciones

El valor resultante DateTimeOffset es menor que DateTimeOffset.MinValue.

O bien

El valor resultante DateTimeOffset es mayor que DateTimeOffset.MaxValue.

Ejemplos

En el ejemplo siguiente se muestra la resta que usa el Subtract método .

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

Comentarios

Puede usar el Subtract método para restar más de un tipo de intervalo de tiempo (días, horas, minutos, segundos o milisegundos) en una sola operación. Su comportamiento es idéntico al Subtraction(DateTimeOffset, TimeSpan) método , que define el operador de resta. La DateTimeOffset estructura también admite métodos de suma especializados (como AddDays, AddHoursy AddMinutes) que permiten realizar restas asignando un valor negativo al parámetro de método.

Nota:

Este método devuelve un nuevo DateTimeOffset objeto . No modifica el valor del objeto actual restando value de su fecha y hora.

El Subtract método no afecta al valor de la DateTimeOffset propiedad del Offset objeto. El objeto devuelto DateTimeOffset tiene el mismo desplazamiento que el objeto original.

Dado que el objeto actual DateTimeOffset no representa la fecha y hora en una zona horaria específica, el Subtract(TimeSpan) método no considera las reglas de ajuste de una zona horaria determinada cuando realiza la resta.

Consulte también

Se aplica a