DateTimeOffset.CompareTo(DateTimeOffset) メソッド

定義

現在の DateTimeOffset オブジェクトを指定した DateTimeOffset オブジェクトと比較し、現在のオブジェクトが 2 番目の DateTimeOffset オブジェクトよりも前か、同じか、またはそれ以降であるかを示します。

public:
 virtual int CompareTo(DateTimeOffset other);
public int CompareTo(DateTimeOffset other);
abstract member CompareTo : DateTimeOffset -> int
override this.CompareTo : DateTimeOffset -> int
Public Function CompareTo (other As DateTimeOffset) As Integer

パラメーター

other
DateTimeOffset

現在の DateTimeOffset オブジェクトと比較するオブジェクト。

返品

次の表に示すように、現在の DateTimeOffset オブジェクトと otherの関係を示す符号付き整数。

戻り値 説明
0 未満 現在の DateTimeOffset オブジェクトが otherより前です。
ゼロ 現在の DateTimeOffset オブジェクトは、 otherと同じです。
0 より大きい。 現在の DateTimeOffset オブジェクトは、 otherより後です。

実装

次の例は、DateTimeOffset オブジェクトを比較するCompareTo メソッドの呼び出しを示しています。

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) firstTime.CompareTo(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) firstTime.CompareTo(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) firstTime.CompareTo(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}: {firstTime.CompareTo secondTime |> enum<TimeComparison>}"

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

let fourthTime = new DateTimeOffset(2007, 9, 1, 8, 45, 0,
                new TimeSpan(-5, 0, 0))
printfn $"Comparing {firstTime} and {fourthTime}: {firstTime.CompareTo 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(firstTime.CompareTo(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(firstTime.CompareTo(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(firstTime.CompareTo(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

注釈

このメソッドは、UtcDateTime値を比較してDateTimeOffsetオブジェクトを比較します。つまり、2 つのオブジェクトが 1 つの時点を表すかどうかを判断し、現在のオブジェクトが other パラメーターよりも前か、それより後か、同じかを示します。

適用対象