DateTimeOffset.Equals メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
2 つの DateTimeOffset オブジェクトが等しいかどうか、つまり、DateTimeOffset オブジェクトが、指定されたオブジェクトと等しいかどうかを判断します。
オーバーロード
Equals(DateTimeOffset) |
現在の DateTimeOffset オブジェクトが、指定された DateTimeOffset オブジェクトと同じ特定の時点を表しているかどうかを判断します。 |
Equals(Object) |
DateTimeOffset オブジェクトが、指定されたオブジェクトと同じ特定の時点を表しているかどうかを判断します。 |
Equals(DateTimeOffset, DateTimeOffset) |
指定された 2 つの 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 オブジェクトと比較するオブジェクト。
戻り値
両方の DateTimeOffset オブジェクトが同じ UtcDateTime 値を持つ場合は true
。それ以外の場合は false
。
実装
例
次の例は、現在DateTimeOffsetのEquals(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) 、2 つの DateTimeOffset オブジェクトが 1 つの時点を表すかどうかを判断します。 日付と時刻もオフセットも直接比較しません。 2 つの DateTimeOffset オブジェクトが同じ時間を表し、同じオフセット値を持っているかどうかを判断するには、メソッドを使用します EqualsExact 。
それ以外null
のDateTimeOffsetオブジェクトは、次のオブジェクトよりも後の (またはそれより大きい) と見なされますnull
。
メソッドのこのオーバーロードは Equals(DateTimeOffset) 、メソッドを IEquatable<T>.Equals 実装します。 パラメーターをオブジェクトから変換する必要がないためother
、DateTimeOffset.Equals(Object)オーバーロードよりもパフォーマンスが若干向上します。
こちらもご覧ください
適用対象
Equals(Object)
DateTimeOffset オブジェクトが、指定されたオブジェクトと同じ特定の時点を表しているかどうかを判断します。
public:
override bool Equals(System::Object ^ obj);
public override bool Equals (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 オブジェクトと比較するオブジェクト。
戻り値
obj
パラメーターが DateTimeOffset オブジェクトであり、現在の DateTimeOffset オブジェクトと同じ特定の時点を表している場合は true
。それ以外の場合は false
。
例
次の例は、現在 DateTimeOffset のオブジェクトが他 DateTimeOffset のいくつかのオブジェクトと等しいかどうか、および null 参照と 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 のオブジェクトと指定したオブジェクトが 1 つの時点を表すかどうかを判断します。 日付と時刻もオフセットも直接比較しません。 2 つの DateTimeOffset オブジェクトが同じ時間を表し、同じオフセット値を持っているかどうかを判断するには、メソッドを使用します EqualsExact 。
の場合obj
、または実行時のobj
型が指定されていないDateTimeOffset場合、メソッドは返しますfalse
。null
こちらもご覧ください
適用対象
Equals(DateTimeOffset, DateTimeOffset)
指定された 2 つの 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
比較する 2 番目のオブジェクト。
戻り値
2 つの DateTimeOffset オブジェクトが同じ UtcDateTime 値を持つ場合は true
。それ以外の場合は 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) 、2 つの DateTimeOffset オブジェクトが 1 つの時点を表すかどうかを判断します。 日付と時刻もオフセットも直接比較しません。 2 つの DateTimeOffset オブジェクトが同じ時間を表し、同じオフセット値を持っているかどうかを判断するには、メソッドを使用します EqualsExact 。