AVZ 5. Руководство пользователя
×
Меню
Индекс

16.43.10. Сравнение дат

 
Так как технически дата представлена числом с плавающей запятой типа Extended, определение количества дней между двумя датами сводится к операции вычитания.
Подобные операции продемонстрированы в скрипте:
 
var
 DT1, DT2 : TDateTime;
begin
 DT1 := StrToDateTime('05.02.2021 12:15:30');
 DT2 := StrToDateTime('12.05.2021 17:22:00');
 AddToLog('DT1 = ' + DateTimeToStr(DT1));
 AddToLog('DT2 = ' + DateTimeToStr(DT2));
 // Вычитание меньшей даты из большей
 AddToLog('DT2-DT1 = ' + FloatToStr(DT2-DT1));
 // Вычитание большей из меньшей
 AddToLog('DT1-DT2 = ' + FloatToStr(DT1-DT2));
 // Вычитание одинаковых дат (дает в результате 0)
 AddToLog('DT1-DT1 = ' + FloatToStr(DT1-DT1));
 // Прибавление к дате заданного количества дней
 AddToLog('DT1 + 7 дней = ' + DateTimeToStr(DT1+7));
 // Сравнение дат
 if DT1>DT2 then
   AddToLog('DT1 > DT2');
 if DT1<DT2 then
   AddToLog('DT1 < DT2');
 if DT1=DT2 then
   AddToLog('DT1 = DT2');
end.
 
В примере использовались: AddToLog, DateTimeToStr, FloatToStr, StrToDateTime