Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

...узнать сколько времени прошло (осталось) между датами [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]

надо просто вычесть две даты. Целая часть результата - количество дней между ними, дробная - часть суток.


Наверх

Титульная страница Поиск, карта сайта Написать письмо