Ler em inglês

Compartilhar via


DateTimeOffset.Equals Método

Definição

Determina se dois objetos DateTimeOffset são iguais ou se um objeto DateTimeOffset é igual a um objeto especificado.

Sobrecargas

Equals(DateTimeOffset)

Determina se o objeto DateTimeOffset atual representa o mesmo ponto no tempo que um objeto DateTimeOffset especificado.

Equals(Object)

Determina se um objeto DateTimeOffset representa o mesmo ponto no tempo que um objeto especificado.

Equals(DateTimeOffset, DateTimeOffset)

Determina se dois objetos DateTimeOffset especificados representam o mesmo ponto no tempo.

Equals(DateTimeOffset)

Determina se o objeto DateTimeOffset atual representa o mesmo ponto no tempo que um objeto DateTimeOffset especificado.

C#
public bool Equals (DateTimeOffset other);

Parâmetros

other
DateTimeOffset

Um objeto a ser comparado com o objeto DateTimeOffset atual.

Retornos

Boolean

true se ambos os objetos DateTimeOffset tiverem o mesmo valor UtcDateTime; caso contrário, false.

Implementações

Exemplos

O exemplo a seguir ilustra chamadas ao Equals(DateTimeOffset) método para testar DateTimeOffset objetos quanto à igualdade com o objeto atual DateTimeOffset .

C#
private static void CompareForEquality1()
{
   DateTimeOffset firstTime = new DateTimeOffset(2007, 9, 1, 6, 45, 0,
                              new TimeSpan(-7, 0, 0));

   DateTimeOffset secondTime = firstTime;
   Console.WriteLine("{0} = {1}: {2}",
                     firstTime, secondTime,
                     firstTime.Equals(secondTime));

   secondTime = new DateTimeOffset(2007, 9, 1, 6, 45, 0,
                    new TimeSpan(-6, 0, 0));
   Console.WriteLine("{0} = {1}: {2}",
                    firstTime, secondTime,
                    firstTime.Equals(secondTime));

   secondTime = new DateTimeOffset(2007, 9, 1, 8, 45, 0,
                    new TimeSpan(-5, 0, 0));
   Console.WriteLine("{0} = {1}: {2}",
                    firstTime, secondTime,
                    firstTime.Equals(secondTime));
   // The example displays the following output to the console:
   //      9/1/2007 6:45:00 AM -07:00 = 9/1/2007 6:45:00 AM -07:00: True
   //      9/1/2007 6:45:00 AM -07:00 = 9/1/2007 6:45:00 AM -06:00: False
   //      9/1/2007 6:45:00 AM -07:00 = 9/1/2007 8:45:00 AM -05:00: True

Comentários

Antes de executar a comparação, esse método converte os valores de ambos os DateTimeOffset objetos em UTC (Tempo Universal Coordenado). O método é equivalente ao seguinte:

C#
return this.UtcDateTime == other.UtcDateTime;

Em outras palavras, o Equals(DateTimeOffset) método determina se dois DateTimeOffset objetos representam um único ponto no tempo. Ele não compara diretamente datas e horas nem deslocamentos. Para determinar se dois objetos DateTimeOffset representam a mesma hora e têm o mesmo valor de deslocamento, use o método EqualsExact.

Um DateTimeOffset objeto que não null é considerado mais tarde (ou maior) do que um que é null.

Essa sobrecarga do Equals(DateTimeOffset) método implementa o IEquatable<T>.Equals método. Ele oferece um desempenho ligeiramente melhor do que a DateTimeOffset.Equals(Object) sobrecarga porque o other parâmetro não precisa ser convertido de um objeto.

Confira também

Aplica-se a

.NET 7 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Equals(Object)

Determina se um objeto DateTimeOffset representa o mesmo ponto no tempo que um objeto especificado.

C#
public override bool Equals (object obj);
C#
public override bool Equals (object? obj);

Parâmetros

obj
Object

O objeto a ser comparado com o objeto DateTimeOffset atual.

Retornos

Boolean

true se o parâmetro obj for um objeto DateTimeOffset e sua representar o mesmo ponto no tempo que o objeto DateTimeOffset atual; caso contrário, false.

Exemplos

O exemplo a seguir indica se o objeto atual DateTimeOffset é igual a vários outros DateTimeOffset objetos, bem como a uma referência nula e a um DateTime objeto.

C#
private static void CompareForEquality2()
{
   DateTimeOffset firstTime = new DateTimeOffset(2007, 9, 1, 6, 45, 0,
                              new TimeSpan(-7, 0, 0));

   object secondTime = firstTime;
   Console.WriteLine("{0} = {1}: {2}",
                     firstTime, secondTime,
                     firstTime.Equals(secondTime));

   secondTime = new DateTimeOffset(2007, 9, 1, 6, 45, 0,
                    new TimeSpan(-6, 0, 0));
   Console.WriteLine("{0} = {1}: {2}",
                    firstTime, secondTime,
                    firstTime.Equals(secondTime));

   secondTime = new DateTimeOffset(2007, 9, 1, 8, 45, 0,
                    new TimeSpan(-5, 0, 0));
   Console.WriteLine("{0} = {1}: {2}",
                    firstTime, secondTime,
                    firstTime.Equals(secondTime));

   secondTime = null;
   Console.WriteLine("{0} = {1}: {2}",
                    firstTime, secondTime,
                    firstTime.Equals(secondTime));

   secondTime = new DateTime(2007, 9, 1, 6, 45, 00);
   Console.WriteLine("{0} = {1}: {2}",
                    firstTime, secondTime,
                    firstTime.Equals(secondTime));
   // The example displays the following output to the console:
   //       9/1/2007 6:45:00 AM -07:00 = 9/1/2007 6:45:00 AM -07:00: True
   //       9/1/2007 6:45:00 AM -07:00 = 9/1/2007 6:45:00 AM -06:00: False
   //       9/1/2007 6:45:00 AM -07:00 = 9/1/2007 8:45:00 AM -05:00: True
   //       9/1/2007 6:45:00 AM -07:00 = : False
   //       9/1/2007 6:45:00 AM -07:00 = 9/1/2007 6:45:00 AM: False

Comentários

Antes de executar a comparação, esse método converte os valores do objeto atual DateTimeOffset e do obj parâmetro em UTC (Tempo Universal Coordenado). O método é equivalente ao seguinte:

C#
return this.UtcDateTime == ((DateTimeOffset) obj).UtcDateTime;

Em outras palavras, o DateTimeOffset.Equals(Object) método determina se o objeto atual DateTimeOffset e um objeto especificado representam um único ponto no tempo. Ele não compara diretamente datas e horas nem deslocamentos. Para determinar se dois objetos DateTimeOffset representam a mesma hora e têm o mesmo valor de deslocamento, use o método EqualsExact.

Se obj for null, ou se o tipo de tempo de obj execução não DateTimeOffsetfor, o método retornará false.

Confira também

Aplica-se a

.NET 7 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Equals(DateTimeOffset, DateTimeOffset)

Determina se dois objetos DateTimeOffset especificados representam o mesmo ponto no tempo.

C#
public static bool Equals (DateTimeOffset first, DateTimeOffset second);

Parâmetros

first
DateTimeOffset

O primeiro objeto a ser comparado.

second
DateTimeOffset

O segundo objeto a ser comparado.

Retornos

Boolean

true se dois objetos DateTimeOffset tiverem o mesmo valor UtcDateTime; caso contrário, false.

Exemplos

O exemplo a seguir ilustra chamadas Equals(DateTimeOffset, DateTimeOffset) ao método para testar vários pares de DateTimeOffset objetos para igualdade.

C#
DateTimeOffset firstTime = new DateTimeOffset(2007, 11, 15, 11, 35, 00,
                                    DateTimeOffset.Now.Offset);
DateTimeOffset secondTime = firstTime;
Console.WriteLine("{0} = {1}: {2}",
                  firstTime, secondTime,
                  DateTimeOffset.Equals(firstTime, secondTime));

// The value of firstTime remains unchanged
secondTime = new DateTimeOffset(firstTime.DateTime,
             TimeSpan.FromHours(firstTime.Offset.Hours + 1));
Console.WriteLine("{0} = {1}: {2}",
                  firstTime, secondTime,
                  DateTimeOffset.Equals(firstTime, secondTime));

// value of firstTime remains unchanged
secondTime = new DateTimeOffset(firstTime.DateTime + TimeSpan.FromHours(1),
                                TimeSpan.FromHours(firstTime.Offset.Hours + 1));
Console.WriteLine("{0} = {1}: {2}",
                  firstTime, secondTime,
                  DateTimeOffset.Equals(firstTime, secondTime));
 // The example produces the following output:
 //       11/15/2007 11:35:00 AM -07:00 = 11/15/2007 11:35:00 AM -07:00: True
 //       11/15/2007 11:35:00 AM -07:00 = 11/15/2007 11:35:00 AM -06:00: False
 //       11/15/2007 11:35:00 AM -07:00 = 11/15/2007 12:35:00 PM -06:00: True

Comentários

Antes de executar a comparação, esse método converte ambos os DateTimeOffset objetos em UTC (Tempo Universal Coordenado). O método é equivalente ao seguinte:

C#
return first.UtcDateTime == second.UtcDateTime;

Em outras palavras, o Equals(DateTimeOffset, DateTimeOffset) método determina se os dois DateTimeOffset objetos representam um único ponto no tempo. Ele não compara diretamente datas e horas nem deslocamentos. Para determinar se dois objetos DateTimeOffset representam a mesma hora e têm o mesmo valor de deslocamento, use o método EqualsExact.

Confira também

Aplica-se a

.NET 7 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0