Compartilhar via


DateTimeOffset.Subtract Método

Definição

Subtrai um tempo ou duração especificada do objeto DateTimeOffset atual.

Sobrecargas

Subtract(DateTimeOffset)

Subtrai um valor DateTimeOffset que representa uma data e hora específica do objeto DateTimeOffset atual.

Subtract(TimeSpan)

Subtrai um intervalo de tempo especificado do objeto DateTimeOffset atual.

Subtract(DateTimeOffset)

Origem:
DateTimeOffset.cs
Origem:
DateTimeOffset.cs
Origem:
DateTimeOffset.cs

Subtrai um valor DateTimeOffset que representa uma data e hora específica do objeto DateTimeOffset atual.

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

Um objeto que representa o valor a ser subtraído.

Retornos

Um objeto que especifica o intervalo entre os dois objetos DateTimeOffset.

Exemplos

O exemplo a seguir ilustra a subtração que usa o 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

Comentários

Esse método converte ambos os DateTimeOffset objetos em UTC (Tempo Universal Coordenado) antes de calcular o intervalo de tempo que os separa. Isso remove qualquer efeito que diferentes deslocamentos de UTC possam ter na comparação.

Observação

Para idiomas que dão suporte a operadores personalizados, você também pode executar a subtração de data e hora usando o operador de subtração. Para obter detalhes, consulte o Subtraction método .

Como nem o objeto atual DateTimeOffset nem o value parâmetro representam a data e a hora em um fuso horário específico, o Subtract(DateTimeOffset) método não considera regras de ajuste de um fuso horário específico quando subtrai datas e horas.

Confira também

Aplica-se a

Subtract(TimeSpan)

Origem:
DateTimeOffset.cs
Origem:
DateTimeOffset.cs
Origem:
DateTimeOffset.cs

Subtrai um intervalo de tempo especificado do objeto DateTimeOffset atual.

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

O intervalo de tempo a ser subtraído.

Retornos

Um objeto igual à data e hora representadas pelo objeto DateTimeOffset atual, menos o intervalo de tempo representado por value.

Exceções

O valor resultante DateTimeOffset é menor que DateTimeOffset.MinValue.

-ou-

O valor resultante DateTimeOffset é maior que DateTimeOffset.MaxValue.

Exemplos

O exemplo a seguir ilustra a subtração que usa o 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

Comentários

Você pode usar o Subtract método para subtrair mais de um tipo de intervalo de tempo (dias, horas, minutos, segundos ou milissegundos) em uma única operação. Seu comportamento é idêntico ao Subtraction(DateTimeOffset, TimeSpan) método , que define o operador de subtração. A DateTimeOffset estrutura também dá suporte a métodos de adição especializados (como AddDays, AddHourse AddMinutes) que permitem que você execute a subtração atribuindo um valor negativo ao parâmetro de método.

Observação

Este método retorna um novo objeto DateTimeOffset. Ele não modifica o valor do objeto atual subtraindo value de sua data e hora.

O Subtract método não afeta o valor da DateTimeOffset propriedade do Offset objeto. O objeto retornado DateTimeOffset tem o mesmo deslocamento que o objeto original.

Como o objeto atual DateTimeOffset não representa a data e a hora em um fuso horário específico, o Subtract(TimeSpan) método não considera regras de ajuste de um fuso horário específico quando executa a subtração.

Confira também

Aplica-se a