DateTime.CompareTo DateTime.CompareTo DateTime.CompareTo DateTime.CompareTo Method

定義

このインスタンスの値と指定した DateTime の値を比較し、このインスタンスの値が指定した DateTime の値よりも前か、同じか、または後かを示します。Compares the value of this instance to a specified DateTime value and indicates whether this instance is earlier than, the same as, or later than the specified DateTime value.

オーバーロード

CompareTo(DateTime) CompareTo(DateTime) CompareTo(DateTime) CompareTo(DateTime)

このインスタンスの値と指定した DateTime の値を比較し、このインスタンスの値が指定した DateTime の値よりも前か、同じか、または後かを示す整数を返します。Compares the value of this instance to a specified DateTime value and returns an integer that indicates whether this instance is earlier than, the same as, or later than the specified DateTime value.

CompareTo(Object) CompareTo(Object) CompareTo(Object) CompareTo(Object)

このインスタンスの値と指定した DateTime の値を含む指定したオブジェクトを比較し、このインスタンスの値が指定した DateTime の値よりも前か、同じか、または後かを示す整数を返します。Compares the value of this instance to a specified object that contains a specified DateTime value, and returns an integer that indicates whether this instance is earlier than, the same as, or later than the specified DateTime value.

注釈

CompareToメソッドの2つのオーバーロードは、次の表に示すように、このインスタンスvalueと引数の相対値を示す符号付き数値を返します。The two overloads of the CompareTo method return a signed number that indicates the relative value of this instance and the value argument, as shown in the following table.

[値]Value 説明Description
0 より小さい値Less than zero このインスタンスは、value よりも前の日時です。This instance is earlier than value.
0Zero このインスタンスは value と同じです。This instance is the same as value.
0 より大きい値Greater than zero このインスタンスは、value よりも後の日時です。This instance is later than value.

CompareTo(DateTime) CompareTo(DateTime) CompareTo(DateTime) CompareTo(DateTime)

このインスタンスの値と指定した DateTime の値を比較し、このインスタンスの値が指定した DateTime の値よりも前か、同じか、または後かを示す整数を返します。Compares the value of this instance to a specified DateTime value and returns an integer that indicates whether this instance is earlier than, the same as, or later than the specified DateTime value.

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

パラメーター

value
DateTime DateTime DateTime DateTime

現在のインスタンスと比較する対象のオブジェクト。The object to compare to the current instance.

戻り値

このインスタンスと value パラメーターの相対値を示す符号付き数値。A signed number indicating the relative values of this instance and the value parameter.

[値]Value 説明Description
0 より小さい値Less than zero このインスタンスは、value よりも前の日時です。This instance is earlier than value.
0Zero このインスタンスは value と同じです。This instance is the same as value.
0 より大きい値Greater than zero このインスタンスは、value よりも後の日時です。This instance is later than value.

実装

次の例ではDateTime 、今日の日付を表す3つのオブジェクト、1年前の日付を表す別のオブジェクト、および将来の日付を表す3つのオブジェクトをインスタンス化します。The following example instantiates three DateTime objects, one that represents today's date, another that represents the date one year previously, and a third that represents the date one year in the future. 次にCompareTo(DateTime) 、メソッドを呼び出し、比較の結果を表示します。It then calls the CompareTo(DateTime) method and displays the result of the comparison.

using System;

public class DateTimeComparison
{
   private enum DateComparisonResult
   {
      Earlier = -1,
      Later = 1,
      TheSame = 0
   };

   public static void Main()
   {
      DateTime thisDate = DateTime.Today;


      // Define two DateTime objects for today's date 
      // next year and last year		
      DateTime thisDateNextYear, thisDateLastYear;

      // Call AddYears instance method to add/substract 1 year
      thisDateNextYear = thisDate.AddYears(1);
      thisDateLastYear = thisDate.AddYears(-1);   

      // Compare dates
      //
      DateComparisonResult comparison;
      // Compare today to last year
      comparison = (DateComparisonResult) thisDate.CompareTo(thisDateLastYear);
      Console.WriteLine("CompareTo method returns {0}: {1:d} is {2} than {3:d}", 
                        (int) comparison, thisDate, comparison.ToString().ToLower(), 
                        thisDateLastYear);
      
      // Compare today to next year
      comparison = (DateComparisonResult) thisDate.CompareTo(thisDateNextYear);
      Console.WriteLine("CompareTo method returns {0}: {1:d} is {2} than {3:d}", 
                        (int) comparison, thisDate, comparison.ToString().ToLower(), 
                        thisDateNextYear);
   }
}
//
// If run on October 20, 2006, the example produces the following output:
//    CompareTo method returns 1: 10/20/2006 is later than 10/20/2005
//    CompareTo method returns -1: 10/20/2006 is earlier than 10/20/2007
Option Strict On

Module DateTimeComparison
   Private Enum DateComparisonResult
      Earlier = -1
      Later = 1
      TheSame = 0
   End Enum
   
   Public Sub Main()

      Dim thisDate As Date = Date.Today

      ' Define two DateTime objects for today's date 
      ' next year and last year		
      Dim thisDateNextYear, thisDateLastYear As Date

      ' Call AddYears instance method to add/substract 1 year
      thisDateNextYear = thisDate.AddYears(1)
      thisDateLastYear = thisDate.AddYears(-1)   

       
      ' Compare dates
      '
      Dim comparison As DateComparisonResult
      ' Compare today to last year
      comparison = CType(thisDate.CompareTo(thisDateLastYear), DateComparisonResult)
      Console.WriteLine("CompareTo method returns {0}: {1:d} is {2} than {3:d}", _ 
                        CInt(comparison), thisDate, comparison.ToString().ToLower(), _ 
                        thisDateLastYear)
      
      ' Compare today to next year
      comparison = CType(thisDate.CompareTo(thisDateNextYear), DateComparisonResult)
      Console.WriteLine("CompareTo method returns {0}: {1:d} is {2} than {3:d}", _
                        CInt(comparison), thisDate, comparison.ToString().ToLower(), _
                        thisDateNextYear)
   End Sub
End Module
'
' If run on October 20, 2006, the example produces the following output:
'    CompareTo method returns 1: 10/20/2006 is later than 10/20/2005
'    CompareTo method returns -1: 10/20/2006 is earlier than 10/20/2007

注釈

value現在のインスタンスとの関係を判断するためにCompareTo 、メソッドはTicks現在のインスタンスのプロパティをvalue比較しますKindが、そのプロパティは無視します。To determine the relationship of the current instance to value, the CompareTo method compares the Ticks property of the current instance and value but ignores their Kind property. オブジェクトをDateTime比較する前に、オブジェクトが同じタイムゾーンの時刻を表していることを確認してください。Before comparing DateTime objects, make sure that the objects represent times in the same time zone. これを行うには、 Kindプロパティの値を比較します。You can do this by comparing the values of their Kind properties.

このメソッドは、 System.IComparable<T> valueパラメーターをオブジェクトに変換する必要DateTime.CompareTo(Object)がないため、インターフェイスを実装し、メソッドのオーバーロードよりも若干優れています。This method implements the System.IComparable<T> interface and performs slightly better than the DateTime.CompareTo(Object) method overload because it does not have to convert the value parameter to an object.

こちらもご覧ください

CompareTo(Object) CompareTo(Object) CompareTo(Object) CompareTo(Object)

このインスタンスの値と指定した DateTime の値を含む指定したオブジェクトを比較し、このインスタンスの値が指定した DateTime の値よりも前か、同じか、または後かを示す整数を返します。Compares the value of this instance to a specified object that contains a specified DateTime value, and returns an integer that indicates whether this instance is earlier than, the same as, or later than the specified DateTime value.

public:
 virtual int CompareTo(System::Object ^ value);
public int CompareTo (object value);
abstract member CompareTo : obj -> int
override this.CompareTo : obj -> int
Public Function CompareTo (value As Object) As Integer

パラメーター

value
Object Object Object Object

比較対象のボックス化されたオブジェクト、または nullA boxed object to compare, or null.

戻り値

このインスタンスと value の相対値を示す符号付き数値。A signed number indicating the relative values of this instance and value.

[値]Value 説明Description
0 より小さい値Less than zero このインスタンスは、value よりも前の日時です。This instance is earlier than value.
0Zero このインスタンスは value と同じです。This instance is the same as value.
0 より大きい値Greater than zero このインスタンスは value より後の時刻を表しているか、または valuenull です。This instance is later than value, or value is null.

実装

例外

valueDateTime ではありません。value is not a DateTime.

メソッドのCompareTo例を次に示します。The following example demonstrates the CompareTo method.

using namespace System;
void main()
{
   

   System::DateTime theDay(System::DateTime::Today.Year,7,28);
   int compareValue;
   try
   {
      compareValue = theDay.CompareTo( System::DateTime::Today );
   }
   catch ( ArgumentException^ ) 
   {
      System::Console::WriteLine( "Value is not a DateTime" );
      return;
   }

   if ( compareValue < 0 )
   {
      System::Console::WriteLine( "{0:d} is in the past.", theDay );
   }
   else
   if ( compareValue == 0 )
   {
      System::Console::WriteLine( "{0:d} is today!", theDay );
   }
   else
   // compareValue > 0 
   {
      System::Console::WriteLine( "{0:d} has not come yet.", theDay );
   }
}
System.DateTime theDay = new System.DateTime(System.DateTime.Today.Year, 7, 28);
int compareValue;

try 
{
    compareValue = theDay.CompareTo(DateTime.Today);
} 
catch (ArgumentException) 
{
   Console.WriteLine("Value is not a DateTime");
   return;
}

if (compareValue < 0) 
   System.Console.WriteLine("{0:d} is in the past.", theDay);
else if (compareValue == 0) 
   System.Console.WriteLine("{0:d} is today!", theDay);
else // compareValue > 0
   System.Console.WriteLine("{0:d} has not come yet.", theDay);
Dim thDay As New System.DateTime(System.DateTime.Today.Year, 7, 28)

Dim compareValue As Integer
Try
   compareValue = thDay.CompareTo(System.DateTime.Today)
Catch exp As ArgumentException
   System.Console.WriteLine("Value is not a DateTime")
End Try

If compareValue < 0 Then
   System.Console.WriteLine("{0:d} is in the past.", thDay)
ElseIf compareValue = 0 Then
   System.Console.WriteLine("{0:d} is today!", thDay)
Else   ' compareValue >= 1 
   System.Console.WriteLine("{0:d} has not come yet.", thDay)
End If

注釈

value現在のインスタンスとの関係を判断するためにCompareTo 、メソッドはTicks現在のインスタンスのプロパティをvalue比較しますKindが、そのプロパティは無視します。To determine the relationship of the current instance to value, the CompareTo method compares the Ticks property of the current instance and value but ignores their Kind property. オブジェクトをDateTime比較する前に、オブジェクトが同じタイムゾーンの時刻を表していることを確認してください。Before comparing DateTime objects, make sure that the objects represent times in the same time zone. これを行うには、 Kindプロパティの値を比較します。You can do this by comparing the values of their Kind properties.

のすべてのDateTimeインスタンスは、その値に関係なく、よりnullも大きいと見なされます。Any instance of DateTime, regardless of its value, is considered greater than null.

こちらもご覧ください

適用対象