![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
...узнать сколько времени прошло (осталось) между датами [D7, WinXP]
.ruslan © (2006-05-25 10:57:00)Добрый день, уважаемые!
Помогите решить задачу с вычислением остатка, т.е.: есть две даты, одна из них сегодняшняя, нужно узнать сколько времени прошло (осталось) между этими датами. Вывести нужно примерно так:
Если более одного дня то:
Осталось: ХХ дней
Если менее одного дня то:
Осталось: ХХ часов ХХ минут
.ruslan (2006-05-25 13:47:00) [1]ок, спасибо!
evvcom (2006-05-25 13:45:00) [2]
> что-то ругается
матом?
Ну я ж написал:
> Не проверял, если что жми на F1
Result := Format('Осталось: %dдней', [Trunc(Delta)])
Подзабыл малясь.
Tonich (2006-05-25 13:44:00) [3]Result := Format('Осталось: % d дней', [Trunc(Delta)])
.ruslan (2006-05-25 13:34:00) [4]evvcom, блин что-то ругается при результате более одного дня
evvcom (2006-05-25 12:21:00) [5]
> а код можно посмотреть?
function BetweenDates(Date1, Date2: TDateTime): string;
var Delta: Double;
begin
Delta := Abs(Date1 - Date2);
if Delta >= 1 then
Result := Format('Осталось: %n дней', [Trunc(Delta)])
else
Result := FormatDateTime('"Осталось: " hh " часов " nn "минут"', Delta);
end;
Не проверял, если что жми на F1
REA (2006-05-25 12:09:00) [6]DateUtils
function DaysBetween(const ANow, AThen: TDateTime): Integer;
function HoursBetween(const ANow, AThen: TDateTime): Int64;
function MinutesBetween(const ANow, AThen: TDateTime): Int64;
function SecondsBetween(const ANow, AThen: TDateTime): Int64;
.ruslan (2006-05-25 12:01:00) [7]всё значит? никто не поможет?
.ruslan (2006-05-25 11:17:00) [8]
FormatDateTime('dd.mm.yyyy hh:mm:ss',now);
Info (2006-05-25 11:16:00) [9]>а код можно посмотреть?
>есть две даты
в каком формате даты?
.ruslan (2006-05-25 11:13:00) [10]а код можно посмотреть?
umbra (2006-05-25 11:10:00) [11]надо просто вычесть две даты. Целая часть результата - количество дней между ними, дробная - часть суток.