Description |
Syntax 1 compares the current (Source) DateTime value with the Target value :
Returns one of the following values :
Source < Target | Gives <0 |
Source = Target | Gives 0 |
Source > Target | Gives >0 |
The Target parameter must be a DateTime object or a null reference. Quite why this parameter is not DateTime is not clear.
Syntax 2 compares ValueA with ValueB
Returns one of the following values :
ValueA < ValueB | Gives <0 |
ValueA = ValueB | Gives 0 |
ValueA > ValueB | Gives >0 |
The exact value of the result for both syntaxes is not guaranteed.
The date and time must be exactly the same to the tick to give a 0 result. (A tick is 0.0000001 seconds).
|
| Notes | Static methods are not methods of an object - they are simply class functions or procedures available at any time.
|
|
Microsoft MSDN Links |
System
System.DateTime
|
|
|
A simple example |
program Project1;
{$APPTYPE CONSOLE}
var
dateTime1, dateTime2 : DateTime;
begin
dateTime1 := Datetime.Create(2004, 6, 20); // 00:00:00 on June 20 2004
dateTime2 := Datetime.Create(2004, 6, 21); // 00:00:00 on June 21 2004
Console.WriteLine('dateTime1 = {0:F}', dateTime1);
Console.WriteLine('dateTime2 = {0:F}', dateTime2);
if dateTime1.Equals(dateTime2)
then Console.WriteLine('dateTime1 = dateTime2')
else Console.WriteLine('dateTime1 <> dateTime2');
Console.ReadLine;
end.
| Show full unit code | dateTime1 = 20 June 2004 00:00:00
dateTime2 = 21 June 2004 00:00:00
dateTime1 <> dateTime2
| | Using the static method | program Project1;
{$APPTYPE CONSOLE}
var
dateTime1, dateTime2 : DateTime;
begin
dateTime1 := Datetime.Create(2004, 6, 20); // 00:00:00 on June 20 2004
dateTime2 := dateTime1.Date; // Exact same date/time value
Console.WriteLine('Starting with identical date/time values');
Console.WriteLine;
Console.WriteLine('dateTime1 = {0:F}', dateTime1);
Console.WriteLine('dateTime2 = {0:F}', dateTime2);
if System.DateTime.Equals(dateTime1, dateTime2)
then Console.WriteLine('dateTime1 = dateTime2')
else Console.WriteLine('dateTime1 <> dateTime2');
Console.WriteLine;
Console.WriteLine('Adding just 1 tick to dateTime1');
Console.WriteLine;
dateTime1 := dateTime1.AddTicks(1);
Console.WriteLine('The date/time values appear to be the same');
Console.WriteLine('dateTime1 = {0:F}', dateTime1);
Console.WriteLine('dateTime2 = {0:F}', dateTime2);
if System.DateTime.Equals(dateTime1, dateTime2)
then Console.WriteLine('dateTime1 = dateTime2')
else Console.WriteLine('dateTime1 <> dateTime2');
Console.ReadLine;
end.
| Show full unit code | Starting with identical date/time values
dateTime1 = 20 June 2004 00:00:00
dateTime2 = 20 June 2004 00:00:00
dateTime1 = dateTime2
Adding just 1 tick to dateTime1
The date/time values appear to be the same
dateTime1 = 20 June 2004 00:00:00
dateTime2 = 20 June 2004 00:00:00
dateTime1 <> dateTime2
|
|
|
|