DateTimeOffset.Equals 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
判斷兩個 DateTimeOffset 物件是否相等,或物件 DateTimeOffset 是否等於指定物件。
多載
| 名稱 | Description |
|---|---|
| Equals(DateTimeOffset) |
判斷當前 DateTimeOffset 物件是否代表與指定 DateTimeOffset 物件相同的時間點。 |
| Equals(Object) |
判斷一個 DateTimeOffset 物體是否代表與指定物體相同的時間點。 |
| Equals(DateTimeOffset, DateTimeOffset) |
判斷兩個指定 DateTimeOffset 物件是否代表同一時間點。 |
Equals(DateTimeOffset)
判斷當前 DateTimeOffset 物件是否代表與指定 DateTimeOffset 物件相同的時間點。
public:
virtual bool Equals(DateTimeOffset other);
public bool Equals(DateTimeOffset other);
override this.Equals : DateTimeOffset -> bool
Public Function Equals (other As DateTimeOffset) As Boolean
參數
- other
- DateTimeOffset
一個可以與當前 DateTimeOffset 物件比較的物件。
傳回
true 若兩個 DateTimeOffset 物件值相同 UtcDateTime ;否則, false。
實作
範例
以下範例說明了測試Equals(DateTimeOffset)DateTimeOffset物件與當前DateTimeOffset物件相等的方法呼叫。
private static void CompareForEquality1()
{
DateTimeOffset firstTime = new DateTimeOffset(2007, 9, 1, 6, 45, 0,
new TimeSpan(-7, 0, 0));
DateTimeOffset 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));
// 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
let firstTime = DateTimeOffset(2007, 9, 1, 6, 45, 0, TimeSpan(-7, 0, 0))
let secondTime = firstTime
printfn $"{firstTime} = {secondTime}: {firstTime.Equals secondTime}"
let secondTime = DateTimeOffset(2007, 9, 1, 6, 45, 0, TimeSpan(-6, 0, 0))
printfn $"{firstTime} = {secondTime}: {firstTime.Equals secondTime}"
let secondTime = DateTimeOffset(2007, 9, 1, 8, 45, 0, TimeSpan(-5, 0, 0))
printfn $"{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
Dim firstTime As New DateTimeOffset(#09/01/2007 6:45:00AM#, _
New TimeSpan(-7, 0, 0))
Dim secondTime As DateTimeOffset = firstTime
Console.WriteLine("{0} = {1}: {2}", _
firstTime, secondTime, _
firstTime.Equals(secondTime))
secondTime = New DateTimeOffset(#09/01/2007 6:45:00AM#, _
New TimeSpan(-6, 0, 0))
Console.WriteLine("{0} = {1}: {2}", _
firstTime, secondTime, _
firstTime.Equals(secondTime))
secondTime = New DateTimeOffset(#09/01/2007 8:45:00AM#, _
New TimeSpan(-5, 0, 0))
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
備註
在進行比較之前,此方法會將兩個 DateTimeOffset 物件的數值轉換為協調世界時(UTC)。 此方法等同於以下方法:
return this.UtcDateTime == other.UtcDateTime;
this.UtcDateTime = other.UtcDateTime
Return Me.UtcDateTime = other.UtcDateTime
換句話說,該 Equals(DateTimeOffset) 方法判斷兩個 DateTimeOffset 物體是否代表同一時間點。 它既不直接比較日期、時間,也不比對偏移量。 要判斷兩個 DateTimeOffset 物件是否代表相同時間且偏移值相同,請使用該 EqualsExact 方法。
DateTimeOffset一個不是null的物體被視為比一個屬於null的物體晚(或更大)的。
這種方法的過載 Equals(DateTimeOffset) 實現了該 IEquatable<T>.Equals 方法。 它比過載的效能 DateTimeOffset.Equals(Object) 略優,因為 other 參數不需要從物件轉換。
另請參閱
適用於
Equals(Object)
判斷一個 DateTimeOffset 物體是否代表與指定物體相同的時間點。
public:
override bool Equals(System::Object ^ obj);
public override bool Equals(object obj);
override this.Equals : obj -> bool
Public Overrides Function Equals (obj As Object) As Boolean
參數
- obj
- Object
要和當前 DateTimeOffset 物件比較的物件。
傳回
true 若參數 obj 為 DateTimeOffset 物件且代表與當前 DateTimeOffset 物件相同的時間點;否則, false。
範例
以下範例顯示目前 DateTimeOffset 物件是否等於其他多個 DateTimeOffset 物件,以及空參考與物件 DateTime 。
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
let compareForEquality2 () =
let firstTime = DateTimeOffset(2007, 9, 1, 6, 45, 0, TimeSpan(-7, 0, 0))
let secondTime: obj = firstTime
printfn $"{firstTime} = {secondTime}: {firstTime.Equals secondTime}"
let secondTime = DateTimeOffset(2007, 9, 1, 6, 45, 0, TimeSpan(-6, 0, 0))
printfn $"{firstTime} = {secondTime}: {firstTime.Equals secondTime}"
let secondTime = DateTimeOffset(2007, 9, 1, 8, 45, 0, TimeSpan(-5, 0, 0))
printfn $"{firstTime} = {secondTime}: {firstTime.Equals secondTime}"
let secondTime = null
printfn $"{firstTime} = {secondTime}: {firstTime.Equals secondTime}"
let secondTime = DateTime(2007, 9, 1, 6, 45, 00)
printfn $"{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
Dim firstTime As New DateTimeOffset(#09/01/2007 6:45:00AM#, _
New TimeSpan(-7, 0, 0))
Dim secondTime As Object = firstTime
Console.WriteLine("{0} = {1}: {2}", _
firstTime, secondTime, _
firstTime.Equals(secondTime))
secondTime = New DateTimeOffset(#09/01/2007 6:45:00AM#, _
New TimeSpan(-6, 0, 0))
Console.WriteLine("{0} = {1}: {2}", _
firstTime, secondTime, _
firstTime.Equals(secondTime))
secondTime = New DateTimeOffset(#09/01/2007 8:45:00AM#, _
New TimeSpan(-5, 0, 0))
Console.WriteLine("{0} = {1}: {2}", _
firstTime, secondTime, _
firstTime.Equals(secondTime))
secondTime = Nothing
Console.WriteLine("{0} = {1}: {2}", _
firstTime, secondTime, _
firstTime.Equals(secondTime))
secondTime = #9/1/2007 6:45AM#
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
備註
在進行比較前,此方法會將當前 DateTimeOffset 物件與 obj 參數的值轉換為協調世界時(UTC)。 此方法等同於以下方法:
return this.UtcDateTime == ((DateTimeOffset) obj).UtcDateTime;
this.UtcDateTime = (obj :?> DateTimeOffset).UtcDateTime
Return Me.UtcDateTime = DirectCast(obj, DatetimeOffset).UtcDateTime
換句話說,該 DateTimeOffset.Equals(Object) 方法判斷當前 DateTimeOffset 物件與指定物件是否代表單一時間點。 它既不直接比較日期、時間,也不比對偏移量。 要判斷兩個 DateTimeOffset 物件是否代表相同時間且偏移值相同,請使用該 EqualsExact 方法。
若 obj 是 null,或 的 obj 執行時類型不是 DateTimeOffset,則該方法回傳 false。
另請參閱
適用於
Equals(DateTimeOffset, DateTimeOffset)
判斷兩個指定 DateTimeOffset 物件是否代表同一時間點。
public:
static bool Equals(DateTimeOffset first, DateTimeOffset second);
public static bool Equals(DateTimeOffset first, DateTimeOffset second);
static member Equals : DateTimeOffset * DateTimeOffset -> bool
Public Shared Function Equals (first As DateTimeOffset, second As DateTimeOffset) As Boolean
參數
- first
- DateTimeOffset
第一個比較的對象。
- second
- DateTimeOffset
第二個比較物件。
傳回
true 若兩個 DateTimeOffset 物件值相同 UtcDateTime ;否則, false。
範例
以下範例說明了該 Equals(DateTimeOffset, DateTimeOffset) 方法用來測試不同物件對 DateTimeOffset 是否相等的程序。
DateTimeOffset firstTime = new DateTimeOffset(2007, 11, 15, 11, 35, 00,
DateTimeOffset.Now.Offset);
DateTimeOffset secondTime = firstTime;
Console.WriteLine("{0} = {1}: {2}",
firstTime, secondTime,
DateTimeOffset.Equals(firstTime, secondTime));
// The value of firstTime remains unchanged
secondTime = new DateTimeOffset(firstTime.DateTime,
TimeSpan.FromHours(firstTime.Offset.Hours + 1));
Console.WriteLine("{0} = {1}: {2}",
firstTime, secondTime,
DateTimeOffset.Equals(firstTime, secondTime));
// value of firstTime remains unchanged
secondTime = new DateTimeOffset(firstTime.DateTime + TimeSpan.FromHours(1),
TimeSpan.FromHours(firstTime.Offset.Hours + 1));
Console.WriteLine("{0} = {1}: {2}",
firstTime, secondTime,
DateTimeOffset.Equals(firstTime, secondTime));
// The example produces the following output:
// 11/15/2007 11:35:00 AM -07:00 = 11/15/2007 11:35:00 AM -07:00: True
// 11/15/2007 11:35:00 AM -07:00 = 11/15/2007 11:35:00 AM -06:00: False
// 11/15/2007 11:35:00 AM -07:00 = 11/15/2007 12:35:00 PM -06:00: True
let firstTime = DateTimeOffset(2007, 11, 15, 11, 35, 00, DateTimeOffset.Now.Offset)
let secondTime = firstTime
printfn $"{firstTime} = {secondTime}: {DateTimeOffset.Equals(firstTime, secondTime)}"
// The value of firstTime remains unchanged
let secondTime = DateTimeOffset(firstTime.DateTime, TimeSpan.FromHours(firstTime.Offset.Hours + 1 |> float))
printfn $"{firstTime} = {secondTime}: {DateTimeOffset.Equals(firstTime, secondTime)}"
// value of firstTime remains unchanged
let secondTime = DateTimeOffset(firstTime.DateTime + TimeSpan.FromHours 1, TimeSpan.FromHours(firstTime.Offset.Hours + 1 |> float))
printfn $"{firstTime} = {secondTime}: {DateTimeOffset.Equals(firstTime, secondTime)}"
// The example produces the following output:
// 11/15/2007 11:35:00 AM -07:00 = 11/15/2007 11:35:00 AM -07:00: True
// 11/15/2007 11:35:00 AM -07:00 = 11/15/2007 11:35:00 AM -06:00: False
// 11/15/2007 11:35:00 AM -07:00 = 11/15/2007 12:35:00 PM -06:00: True
Dim firstTime As New DateTimeOffset(#11/15/2007 11:35AM#, _
DateTimeOffset.Now.Offset)
Dim secondTime As DateTimeOffset = firstTime
Console.WriteLine("{0} = {1}: {2}", _
firstTime, secondTime, _
DateTimeOffset.Equals(firstTime, secondTime))
' The value of firstTime remains unchanged
secondTime = New DateTimeOffset(firstTime.DateTime, _
TimeSpan.FromHours(firstTime.Offset.Hours + 1))
Console.WriteLine("{0} = {1}: {2}", _
firstTime, secondTime, _
DateTimeOffset.Equals(firstTime, secondTime))
' value of firstTime remains unchanged
secondTime = New DateTimeOffset(firstTime.DateTime + TimeSpan.FromHours(1), _
TimeSpan.FromHours(firstTime.Offset.Hours + 1))
Console.WriteLine("{0} = {1}: {2}", _
firstTime, secondTime, _
DateTimeOffset.Equals(firstTime, secondTime))
' The example produces the following output:
' 11/15/2007 11:35:00 AM -07:00 = 11/15/2007 11:35:00 AM -07:00: True
' 11/15/2007 11:35:00 AM -07:00 = 11/15/2007 11:35:00 AM -06:00: False
' 11/15/2007 11:35:00 AM -07:00 = 11/15/2007 12:35:00 PM -06:00: True
備註
在進行比較之前,此方法會先將兩個 DateTimeOffset 物件轉換成協調世界時(UTC)。 此方法等同於以下方法:
return first.UtcDateTime == second.UtcDateTime;
first.UtcDateTime = second.UtcDateTime
Return first.UtcDateTime = second.UtcDateTime
換句話說,該 Equals(DateTimeOffset, DateTimeOffset) 方法判斷這兩個 DateTimeOffset 物件是否代表同一時間點。 它既不直接比較日期、時間,也不比對偏移量。 要判斷兩個 DateTimeOffset 物件是否代表相同時間且偏移值相同,請使用該 EqualsExact 方法。