DateTimeOffset.Equals Method (Object)

Microsoft Silverlight will reach end of support after October 2021. Learn more.

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

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

Syntax

'Declaration
Public Overrides Function Equals ( _
    obj As Object _
) As Boolean
public override bool Equals(
    Object obj
)

Parameters

Return Value

Type: System.Boolean
true if the obj parameter is a DateTimeOffset object and represents the same point in time as the current DateTimeOffset object; otherwise, false.

Remarks

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

Return Me.UtcDateTime = DirectCast(obj, DateTimeOffset).UtcDateTime
return this.UtcDateTime == ((DateTimeOffset)obj).UtcDateTime;

In other words, the DateTimeOffset.Equals(Object) method determines whether the current DateTimeOffset object and a specified object 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.

If obj is nulla null reference (Nothing in Visual Basic), or if the run-time type of obj is not DateTimeOffset, the method returns false.

Examples

The following example indicates whether the current DateTimeOffset object is equal to several other DateTimeOffset objects, as well as to a null reference and a DateTime object.

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

Dim secondTime As Object = 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

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

secondTime = #9/1/2007 6:45:00 AM#
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  
'       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          
private static void CompareForEquality2(System.Windows.Controls.TextBlock outputBlock)
{
   DateTimeOffset firstTime = new DateTimeOffset(2007, 9, 1, 6, 45, 0,
                              new TimeSpan(-7, 0, 0));

   object 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";

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

   secondTime = new DateTime(2007, 9, 1, 6, 45, 00);
   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  
   //       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          

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.