DateTimeOffset.Equals Метод

Определение

Определяет, равны ли два DateTimeOffset объекта или DateTimeOffset объект равен указанному объекту.

Перегрузки

Имя Описание
Equals(DateTimeOffset)

Определяет, представляет ли текущий DateTimeOffset объект тот же момент времени, что и указанный DateTimeOffset объект.

Equals(Object)

Определяет, представляет ли DateTimeOffset объект тот же момент времени, что и указанный объект.

Equals(DateTimeOffset, DateTimeOffset)

Определяет, представляют ли два указанных DateTimeOffset объекта одно и то же время.

Equals(DateTimeOffset)

Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs

Определяет, представляет ли текущий DateTimeOffset объект тот же момент времени, что и указанный DateTimeOffset объект.

public:
 virtual bool Equals(DateTimeOffset other);
public bool Equals(DateTimeOffset other);
override this.Equals : DateTimeOffset -> bool
Public Function Equals (other As DateTimeOffset) As Boolean

Параметры

other
DateTimeOffset

Объект для сравнения с текущим DateTimeOffset объектом.

Возвращаемое значение

Значение < a0/>, если оба объекта имеют одно и то же значение; в противном случае .

Реализации

Примеры

В следующем примере показаны вызовы Equals(DateTimeOffset) метода для тестирования DateTimeOffset объектов на равенство с текущим DateTimeOffset объектом.

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
let firstTime = DateTimeOffset(2007, 9, 1, 6, 45, 0, TimeSpan(-7, 0, 0))

let secondTime = firstTime
printfn $"{firstTime} = {secondTime}: {firstTime.Equals secondTime}"

let secondTime = DateTimeOffset(2007, 9, 1, 6, 45, 0, TimeSpan(-6, 0, 0))
printfn $"{firstTime} = {secondTime}: {firstTime.Equals secondTime}"

let secondTime = DateTimeOffset(2007, 9, 1, 8, 45, 0, TimeSpan(-5, 0, 0))
printfn $"{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
    Dim firstTime As New DateTimeOffset(#09/01/2007 6:45:00AM#, _
                     New TimeSpan(-7, 0, 0))

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

    secondTime = New DateTimeOffset(#09/01/2007 6:45:00AM#, _
                     New TimeSpan(-6, 0, 0))      
    Console.WriteLine("{0} = {1}: {2}", _
                     firstTime, secondTime, _
                     firstTime.Equals(secondTime))
    
    secondTime = New DateTimeOffset(#09/01/2007 8:45:00AM#, _
                     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

Комментарии

Перед выполнением сравнения этот метод преобразует значения обоих DateTimeOffset объектов в согласованное универсальное время (UTC). Метод эквивалентен следующему:

return this.UtcDateTime == other.UtcDateTime;
this.UtcDateTime = other.UtcDateTime
Return Me.UtcDateTime = other.UtcDateTime

Другими словами, метод определяет, Equals(DateTimeOffset) представляют ли два DateTimeOffset объекта одну точку во времени. Он напрямую не сравнивает ни даты, ни время, ни смещение. Чтобы определить, представляют ли два DateTimeOffset объекта одинаковое время и имеют одно и то же значение смещения, используйте EqualsExact метод.

Объект DateTimeOffset , который не null считается более поздним (или большим), чем один из них null.

Эта перегрузка Equals(DateTimeOffset) метода реализует IEquatable<T>.Equals метод. Он обеспечивает немного лучшую производительность, чем перегрузка DateTimeOffset.Equals(Object) , так как other параметр не должен быть преобразован из объекта.

См. также раздел

Применяется к

Equals(Object)

Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs

Определяет, представляет ли DateTimeOffset объект тот же момент времени, что и указанный объект.

public:
 override bool Equals(System::Object ^ obj);
public override bool Equals(object obj);
public override bool Equals(object? obj);
override this.Equals : obj -> bool
Public Overrides Function Equals (obj As Object) As Boolean

Параметры

obj
Object

Объект для сравнения с текущим DateTimeOffset объектом.

Возвращаемое значение

Значение />, если параметр является объектом и представляет ту же точку во времени, что и текущий объект; в противном случае .

Примеры

В следующем примере указывается, равен ли текущий DateTimeOffset объект нескольким другим DateTimeOffset объектам, а также ссылке null и объекту DateTime .

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
let compareForEquality2 () =
    let firstTime = DateTimeOffset(2007, 9, 1, 6, 45, 0, TimeSpan(-7, 0, 0))

    let secondTime: obj = firstTime
    printfn $"{firstTime} = {secondTime}: {firstTime.Equals secondTime}"

    let secondTime = DateTimeOffset(2007, 9, 1, 6, 45, 0, TimeSpan(-6, 0, 0))
    printfn $"{firstTime} = {secondTime}: {firstTime.Equals secondTime}"

    let secondTime = DateTimeOffset(2007, 9, 1, 8, 45, 0, TimeSpan(-5, 0, 0))
    printfn $"{firstTime} = {secondTime}: {firstTime.Equals secondTime}"

    let secondTime = null
    printfn $"{firstTime} = {secondTime}: {firstTime.Equals secondTime}"

    let secondTime = DateTime(2007, 9, 1, 6, 45, 00)
    printfn $"{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
    Dim firstTime As New DateTimeOffset(#09/01/2007 6:45:00AM#, _
                     New TimeSpan(-7, 0, 0))

    Dim secondTime As Object = firstTime
    Console.WriteLine("{0} = {1}: {2}", _
                      firstTime, secondTime, _
                      firstTime.Equals(secondTime))

    secondTime = New DateTimeOffset(#09/01/2007 6:45:00AM#, _
                     New TimeSpan(-6, 0, 0))      
    Console.WriteLine("{0} = {1}: {2}", _
                     firstTime, secondTime, _
                     firstTime.Equals(secondTime))
    
    secondTime = New DateTimeOffset(#09/01/2007 8:45:00AM#, _
                     New TimeSpan(-5, 0, 0))
    Console.WriteLine("{0} = {1}: {2}", _
                     firstTime, secondTime, _
                     firstTime.Equals(secondTime))
                     
    secondTime = Nothing
    Console.WriteLine("{0} = {1}: {2}", _
                     firstTime, secondTime, _
                     firstTime.Equals(secondTime))

    secondTime = #9/1/2007 6:45AM#
    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

Комментарии

Перед выполнением сравнения этот метод преобразует значения текущего DateTimeOffset объекта и obj параметра в формате UTC. Метод эквивалентен следующему:

return this.UtcDateTime == ((DateTimeOffset) obj).UtcDateTime;
this.UtcDateTime = (obj :?> DateTimeOffset).UtcDateTime
Return Me.UtcDateTime = DirectCast(obj, DatetimeOffset).UtcDateTime

Другими словами, метод определяет, DateTimeOffset.Equals(Object) представляет ли текущий DateTimeOffset объект и указанный объект один момент времени. Он напрямую не сравнивает ни даты, ни время, ни смещение. Чтобы определить, представляют ли два DateTimeOffset объекта одинаковое время и имеют одно и то же значение смещения, используйте EqualsExact метод.

Значение тип времени выполнения не указан, метод возвращается.

См. также раздел

Применяется к

Equals(DateTimeOffset, DateTimeOffset)

Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs
Исходный код:
DateTimeOffset.cs

Определяет, представляют ли два указанных DateTimeOffset объекта одно и то же время.

public:
 static bool Equals(DateTimeOffset first, DateTimeOffset second);
public static bool Equals(DateTimeOffset first, DateTimeOffset second);
static member Equals : DateTimeOffset * DateTimeOffset -> bool
Public Shared Function Equals (first As DateTimeOffset, second As DateTimeOffset) As Boolean

Параметры

first
DateTimeOffset

Первый объект для сравнения.

second
DateTimeOffset

Второй объект для сравнения.

Возвращаемое значение

Значение < a0/>, если два объекта имеют одно и то же значение; в противном случае .

Примеры

В следующем примере показаны вызовы Equals(DateTimeOffset, DateTimeOffset)DateTimeOffset метода для проверки различных пар объектов на равенство.

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
let firstTime = DateTimeOffset(2007, 11, 15, 11, 35, 00, DateTimeOffset.Now.Offset)
let secondTime = firstTime
printfn $"{firstTime} = {secondTime}: {DateTimeOffset.Equals(firstTime, secondTime)}"

// The value of firstTime remains unchanged
let secondTime = DateTimeOffset(firstTime.DateTime, TimeSpan.FromHours(firstTime.Offset.Hours + 1 |> float))
printfn $"{firstTime} = {secondTime}: {DateTimeOffset.Equals(firstTime, secondTime)}"

// value of firstTime remains unchanged
let secondTime = DateTimeOffset(firstTime.DateTime + TimeSpan.FromHours 1, TimeSpan.FromHours(firstTime.Offset.Hours + 1 |> float))
printfn $"{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
Dim firstTime As New DateTimeOffset(#11/15/2007 11:35AM#, _
                                    DateTimeOffset.Now.Offset)
Dim secondTime As DateTimeOffset = 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

Комментарии

Перед выполнением сравнения этот метод преобразует оба DateTimeOffset объекта в координированное универсальное время (UTC). Метод эквивалентен следующему:

return first.UtcDateTime == second.UtcDateTime;
first.UtcDateTime = second.UtcDateTime
Return first.UtcDateTime = second.UtcDateTime

Другими словами, метод определяет, Equals(DateTimeOffset, DateTimeOffset) представляют ли два DateTimeOffset объекта одну точку во времени. Он напрямую не сравнивает ни даты, ни время, ни смещение. Чтобы определить, представляют ли два DateTimeOffset объекта одинаковое время и имеют одно и то же значение смещения, используйте EqualsExact метод.

См. также раздел

Применяется к