# DateTimeOffset.Compare(DateTimeOffset, DateTimeOffset) メソッド

## 定義

2 つの DateTimeOffset オブジェクトを比較し、1 つ目のオブジェクトが 2 つ目のオブジェクトの前か後か、または等しいかを示します。

``````public:
static int Compare(DateTimeOffset first, DateTimeOffset second);``````
``public static int Compare (DateTimeOffset first, DateTimeOffset second);``
``static member Compare : DateTimeOffset * DateTimeOffset -> int``
``Public Shared Function Compare (first As DateTimeOffset, second As DateTimeOffset) As Integer``

first
DateTimeOffset

second
DateTimeOffset

#### 戻り値

Int32

`first` パラメーターの値が `second` パラメーターの値よりも前か後か、または等しいかを示す符号付き整数。次の表を参照してください。

0 より小さい値 `first``second` よりも前の日時です。
ゼロ `first``second` が等価です。
0 より大きい値 `first``second` より後の日時です。

## 例

``````using System;

public class CompareTimes
{
private enum TimeComparison
{
Earlier = -1,
Same = 0,
Later = 1
};

public static void Main()
{
DateTimeOffset firstTime = new DateTimeOffset(2007, 9, 1, 6, 45, 0,
new TimeSpan(-7, 0, 0));

DateTimeOffset secondTime = firstTime;
Console.WriteLine("Comparing {0} and {1}: {2}",
firstTime, secondTime,
(TimeComparison) DateTimeOffset.Compare(firstTime, secondTime));

secondTime = new DateTimeOffset(2007, 9, 1, 6, 45, 0,
new TimeSpan(-6, 0, 0));
Console.WriteLine("Comparing {0} and {1}: {2}",
firstTime, secondTime,
(TimeComparison) DateTimeOffset.Compare(firstTime, secondTime));

secondTime = new DateTimeOffset(2007, 9, 1, 8, 45, 0,
new TimeSpan(-5, 0, 0));
Console.WriteLine("Comparing {0} and {1}: {2}",
firstTime, secondTime,
(TimeComparison) DateTimeOffset.Compare(firstTime, secondTime));
// The example displays the following output to the console:
//       Comparing 9/1/2007 6:45:00 AM -07:00 and 9/1/2007 6:45:00 AM -07:00: Same
//       Comparing 9/1/2007 6:45:00 AM -07:00 and 9/1/2007 6:45:00 AM -06:00: Later
//       Comparing 9/1/2007 6:45:00 AM -07:00 and 9/1/2007 8:45:00 AM -05:00: Same
}
}
``````
``````open System

type TimeComparison =
| Earlier = -1
| Same = 0
| Later = 1

let firstTime = DateTimeOffset(2007, 9, 1, 6, 45, 0, TimeSpan(-7, 0, 0))

let secondTime = firstTime
printfn \$"Comparing {firstTime} and {secondTime}: {DateTimeOffset.Compare(firstTime, secondTime) |> enum<TimeComparison>}"

let thirdTime = DateTimeOffset(2007, 9, 1, 6, 45, 0, TimeSpan(-6, 0, 0))
printfn \$"Comparing {firstTime} and {thirdTime}: {DateTimeOffset.Compare(firstTime, thirdTime) |> enum<TimeComparison>}"

let fourthTime = DateTimeOffset(2007, 9, 1, 8, 45, 0, TimeSpan(-5, 0, 0))
printfn \$"Comparing {firstTime} and {fourthTime}: {DateTimeOffset.Compare(firstTime, fourthTime) |> enum<TimeComparison>}"

// The example displays the following output to the console:
//       Comparing 9/1/2007 6:45:00 AM -07:00 and 9/1/2007 6:45:00 AM -07:00: Same
//       Comparing 9/1/2007 6:45:00 AM -07:00 and 9/1/2007 6:45:00 AM -06:00: Later
//       Comparing 9/1/2007 6:45:00 AM -07:00 and 9/1/2007 8:45:00 AM -05:00: Same
``````
``````Module CompareTimes
Private Enum TimeComparison As Integer
Earlier = -1
Same = 0
Later = 1
End Enum

Public Sub Main()
Dim firstTime As New DateTimeOffset(#09/01/2007 6:45:00AM#, _
New TimeSpan(-7, 0, 0))

Dim secondTime As DateTimeOffset = firstTime
Console.WriteLine("Comparing {0} and {1}: {2}", _
firstTime, secondTime, _
CType(DateTimeOffset.Compare(firstTime, secondTime), _
TimeComparison))

secondTime = New DateTimeOffset(#09/01/2007 6:45:00AM#, _
New TimeSpan(-6, 0, 0))
Console.WriteLine("Comparing {0} and {1}: {2}", _
firstTime, secondTime, _
CType(DateTimeOffset.Compare(firstTime, secondTime), _
TimeComparison))

secondTime = New DateTimeOffset(#09/01/2007 8:45:00AM#, _
New TimeSpan(-5, 0, 0))
Console.WriteLine("Comparing {0} and {1}: {2}", _
firstTime, secondTime, _
CType(DateTimeOffset.Compare(firstTime, secondTime), _
TimeComparison))
' The example displays the following output to the console:
'       Comparing 9/1/2007 6:45:00 AM -07:00 and 9/1/2007 6:45:00 AM -07:00: Same
'       Comparing 9/1/2007 6:45:00 AM -07:00 and 9/1/2007 6:45:00 AM -06:00: Later
'       Comparing 9/1/2007 6:45:00 AM -07:00 and 9/1/2007 8:45:00 AM -05:00: Same
End Sub
End Module
``````

## 注釈

``````return DateTime.Compare(first.UtcDateTime, second.UtcDateTime);
``````
``````DateTime.Compare(first.UtcDateTime, second.UtcDateTime)
``````
``````Return DateTime.Compare(first.UtcDateTime, second.UtcDateTime)
``````

つまり、メソッドは Compare 、2 つの DateTimeOffset オブジェクトが 1 つの時点を表すかどうかを判断します。 日付と時刻もオフセットも直接比較しません。