2013-04-01 2 views
0

У меня есть запрос, который отображает гостей отеля, которые хранят данные (START_DATE, END_DATE). Мне хотелось бы, чтобы на ярлыке показывалось, сколько дней прошло с тех пор, как гости посетили последний визит по сравнению с сегодняшним днем. Итак, например, если гость ушел на 29.3.2013, и я просмотрю данные, мне бы хотелось, чтобы лейбл сказал мне: последний визит «2» дней назад.Показывать, сколько дней с момента последнего посещения

ответ

4

DaysBetween работает здесь тоже, как будто это работает в вашем последнем вопросе.

Label1.Caption := Format('Last visit %d days ago', 
        [DaysBetween(Date, Qry.FieldByName('END_Date').AsDateTime)]); 
+0

Кроме этого, может быть, что время-день, вероятно, не имеет значения, так что должно быть INT (...) вокруг «Дата» и «Qry.Field ...» части. – HeartWare

+0

TDateTime = Extended (или Real, не помню), где Целочисленная часть значения - количество дней после 1900 года (или что-то). Таким образом, Trunk (Date2) - Trunk (Date1) = количество дней. Он равен функции DaysBetween, но он в 2 раза быстрее (без операций стека и вызовов функций) – Abelisto

+0

@KenWhite Дробная часть - это количество миллисекунд даты. Поэтому принимайте во внимание круг ценностей. – Abelisto

Смежные вопросы