Можно легко выполнить очень хороший различный луг с помощью Eclipse. См. http://triviaatwork.blogspot.com/2008/09/comparing-two-folders-on.html
Попробуйте использовать функцию EncodeDateTime , объявленную в модуле DateUtils.
function EncodeDateTime(const AYear: Word;
const AMonth: Word;
const ADay: Word;
const AHour: Word;
const AMinute: Word;
const ASecond: Word;
const AMilliSecond: Word): TDateTime;
] См. Этот пример
uses
DateUtils;
var
myDateTime : TDateTime;
begin
//Your Code
myDateTime := EncodeDateTime(2009, 11, 28, 14, 23, 12, 000);
//Your Code
End;
Другой вариант
uses
SysUtils;
var
myDateTime : TDateTime;
begin
//Your Code
myDateTime:= EncodeDate(2009,11,28)+EncodeTime(14,23,12,000);
//Your Code
end;
Второй вариант работает, потому что TDatetime Он хранится как Double ( TDateTime = type Double;
) с датой в качестве целая часть (функция EncodeDate возвращает интеграл), а время - дробная часть.
Часть даты TDateTime представляет количество дней, прошедших с 30.12.1899. TDateTime может быть любой датой до 31 декабря 9999 года (десятичное значение 2 958 465), значения TDateTime также могут быть отрицательными. Десятичное значение -693593 соответствует 1 января 0001.
см. Эти примеры
var
myDateTime : TDateTime;
Begin
myDateTime :=0; //represents 12/30/1899
myDateTime :=1; //represents 12/31/1899
myDateTime :=-1; //represents 12/29/1899
myDateTime :=-693593; //represents 01/01/0001
myDateTime := Now(); //assign the current date and time to myDateTime
myDateTime:=Trunc(Now()); //Extract only the date part.
myDateTime:=Frac(Now()); //Extract only the time part.
myDateTime :=Now() + 1;// Add a day to the current datetime
End;
Важное примечание с сайта embarcadero:
Чтобы найти дробное количество дней между двумя датами, просто вычтите два значения, если одно из Значения System.TDateTime отрицательны. Аналогично, чтобы увеличить дату и временная стоимость на определенную дробную количество дней, добавьте дробное число к значению даты и времени, если значение System.TDateTime равно положительный.
При работе с отрицательным Значения System.TDateTime, вычислений должен обрабатывать временную часть отдельно . Дробная часть отражает доля 24-часового дня без относительно знака System.TDateTime значение. Например, 6:00 29.12.1899 составляет –1,25, а не –1 + 0,25, что составит –0,75. Нет значений System.TDateTime между –1 и 0.
для дополнительной информации вы можете увидеть эту ссылку