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.
返回
如果当前的 DateTimeOffset 对象与 other 具有相同的日期和时间值以及相同的 Offset 值,则为 true;否则为 false。true 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.