DateTimeOffset.Equals Method (DateTimeOffset)

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

Determines whether the current DateTimeOffset object represents the same point in time as a specified DateTimeOffset object.

Namespace: System
Assembly: mscorlib (in mscorlib.dll)

Syntax

Public Function Equals ( _
    other As DateTimeOffset _
) As Boolean
public bool Equals(
    DateTimeOffset other
)

Parameters

Return Value

Type: System..::.Boolean
true if both DateTimeOffset objects have the same UtcDateTime value; otherwise, false.

Implements

IEquatable<(Of <(T>)>)..::.Equals(T)

Remarks

Before it performs the comparison, this method converts the values of both DateTimeOffset objects to Coordinated Universal Time (UTC). The method is equivalent to the following:

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

In other words, the Equals(DateTimeOffset) method determines whether two DateTimeOffset objects represent a single point in time. It directly compares neither dates and times nor offsets. To determine whether two DateTimeOffset objects represent the same time and have the same offset value, use the EqualsExact method.

A DateTimeOffset object that is not nullNothingnullptra null reference (Nothing in Visual Basic) is considered to be later (or greater) than one that is nullNothingnullptra null reference (Nothing in Visual Basic).

This overload of the Equals(DateTimeOffset) method implements the IEquatable<(Of <(T>)>)..::.Equals method. It offers slightly better performance than the DateTimeOffset..::.Equals(Object) overload because the other parameter does not have to be converted from an object.

Examples

The following example illustrates calls to the Equals(DateTimeOffset) method to test DateTimeOffset objects for equality with the current DateTimeOffset object.

Dim firstTime As New DateTimeOffset(#9/1/2007 6:45:00 AM#, _
                 New TimeSpan(-7, 0, 0))

Dim secondTime As DateTimeOffset = firstTime
outputBlock.Text += String.Format("{0} = {1}: {2}", _
                  firstTime, secondTime, _
                  firstTime.Equals(secondTime)) + vbCrLf

secondTime = New DateTimeOffset(#9/1/2007 6:45:00 AM#, _
                 New TimeSpan(-6, 0, 0))
outputBlock.Text += String.Format("{0} = {1}: {2}", _
                 firstTime, secondTime, _
                 firstTime.Equals(secondTime)) + vbCrLf

secondTime = New DateTimeOffset(#9/1/2007 8:45:00 AM#, _
                 New TimeSpan(-5, 0, 0))
outputBlock.Text += String.Format("{0} = {1}: {2}", _
                 firstTime, secondTime, _
                 firstTime.Equals(secondTime)) + vbCrLf
' The example displays the following output:
'       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
private static void CompareForEquality1(System.Windows.Controls.TextBlock outputBlock)
{
   DateTimeOffset firstTime = new DateTimeOffset(2007, 9, 1, 6, 45, 0,
                              new TimeSpan(-7, 0, 0));

   DateTimeOffset secondTime = firstTime;
   outputBlock.Text += String.Format("{0} = {1}: {2}",
                     firstTime, secondTime,
                     firstTime.Equals(secondTime)) + "\n";

   secondTime = new DateTimeOffset(2007, 9, 1, 6, 45, 0,
                    new TimeSpan(-6, 0, 0));
   outputBlock.Text += String.Format("{0} = {1}: {2}",
                    firstTime, secondTime,
                    firstTime.Equals(secondTime)) + "\n";

   secondTime = new DateTimeOffset(2007, 9, 1, 8, 45, 0,
                    new TimeSpan(-5, 0, 0));
   outputBlock.Text += String.Format("{0} = {1}: {2}",
                    firstTime, secondTime,
                    firstTime.Equals(secondTime)) + "\n";
   // The example displays the following output:
   //      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       

Version Information

Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Platforms

Windows Phone

See Also

Reference

DateTimeOffset Structure

Equals Overload

System Namespace

EqualsExact