DateTimeOffset.EqualsExact(DateTimeOffset) 方法

定义

确定当前的 DateTimeOffset 对象与指定的 DateTimeOffset 对象是否表示同一时间并且是否具有相同的偏移量。Determines whether the current DateTimeOffset object represents the same time and has the same offset as a specified DateTimeOffset object.

public:
 bool EqualsExact(DateTimeOffset other);
public bool EqualsExact (DateTimeOffset other);
member this.EqualsExact : DateTimeOffset -> bool
Public Function EqualsExact (other As DateTimeOffset) As Boolean

参数

other
DateTimeOffset

要与当前 DateTimeOffset 对象进行比较的对象。The object to compare to the current DateTimeOffset object.

返回

如果当前的 true 对象与 DateTimeOffset 具有相同的日期和时间值以及相同的 other 值,则为 Offset;否则为 falsetrue if the current DateTimeOffset object and other have the same date and time value and the same Offset value; otherwise, false.

示例

下面的示例演示如何使用 EqualsExact 方法来比较类似的 DateTimeOffset 对象。The following example illustrates the use of the EqualsExact method to compare similar DateTimeOffset objects.

DateTimeOffset instanceTime = new DateTimeOffset(2007, 10, 31, 0, 0, 0, 
                              DateTimeOffset.Now.Offset);

DateTimeOffset otherTime = instanceTime;
Console.WriteLine("{0} = {1}: {2}", 
                  instanceTime, otherTime, 
                  instanceTime.EqualsExact(otherTime));
                  
otherTime = new DateTimeOffset(instanceTime.DateTime, 
            TimeSpan.FromHours(instanceTime.Offset.Hours + 1));
Console.WriteLine("{0} = {1}: {2}", 
                  instanceTime, otherTime, 
                  instanceTime.EqualsExact(otherTime));
                  
otherTime = new DateTimeOffset(instanceTime.DateTime + TimeSpan.FromHours(1), 
                TimeSpan.FromHours(instanceTime.Offset.Hours + 1));
Console.WriteLine("{0} = {1}: {2}", 
                  instanceTime, otherTime,
                  instanceTime.EqualsExact(otherTime));
// The example produces the following output:
//       10/31/2007 12:00:00 AM -07:00 = 10/31/2007 12:00:00 AM -07:00: True
//       10/31/2007 12:00:00 AM -07:00 = 10/31/2007 12:00:00 AM -06:00: False
//       10/31/2007 12:00:00 AM -07:00 = 10/31/2007 1:00:00 AM -06:00: False       
Dim instanceTime As New DateTimeOffset(#10/31/2007 12:00AM#, _
                                       DateTimeOffset.Now.Offset)

Dim otherTime As DateTimeOffset = instanceTime
Console.WriteLine("{0} = {1}: {2}", _
                  instanceTime, otherTime, _
                  instanceTime.EqualsExact(otherTime))
                  
otherTime = New DateTimeOffset(instanceTime.DateTime, _
                               TimeSpan.FromHours(instanceTime.Offset.Hours + 1))
Console.WriteLine("{0} = {1}: {2}", _
                  instanceTime, otherTime, _
                  instanceTime.EqualsExact(otherTime))
                  
otherTime = New DateTimeOffset(instanceTime.DateTime + TimeSpan.FromHours(1), _
                                TimeSpan.FromHours(instanceTime.Offset.Hours + 1))
Console.WriteLine("{0} = {1}: {2}", _
                  instanceTime, otherTime, _
                  instanceTime.EqualsExact(otherTime))
' The example produces the following output:
'       10/31/2007 12:00:00 AM -07:00 = 10/31/2007 12:00:00 AM -07:00: True
'       10/31/2007 12:00:00 AM -07:00 = 10/31/2007 12:00:00 AM -06:00: False
'       10/31/2007 12:00:00 AM -07:00 = 10/31/2007 1:00:00 AM -06:00: False       

注解

由于多个时区共享单个偏移量,因此 true 的返回值不能保证当前和 other 对象表示相同时区中的时间。Because multiple time zones share a single offset, a return value of true does not guarantee that the current and the other object represent times in the same time zone.

EqualsExact 方法不同,Equals 方法的重载只确定两个 DateTimeOffset 值是否表示单个时间点。Unlike the EqualsExact method, the overloads of the Equals method determine only whether two DateTimeOffset values represent a single point in time. 它们不表示两个值具有相同的日期和时间以及相同的偏移量。They do not indicate that two values have the same date and time as well as the same offset.

适用于

另请参阅