DateTimeOffset.Equals Method (Object)

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

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

public override bool Equals(
	Object obj
)

Parameters

obj
Type: System.Object

The object to compare to the current DateTimeOffset object.

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.

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 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 null, or if the run-time type of obj is not DateTimeOffset, the method returns false.

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.

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          

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5 SP1, 3.0 SP1, 2.0 SP1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

.NET for Windows Store apps

Supported in: Windows 8

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft