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

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

Разность между двумя датами [D6, WinXP]


vova11 ©   (2002-06-16 16:00:00) 

Здравствуйте, не смейтесь над вопросом, мне 11 лет и я только начал заниматься Delphi. Объясните как узнать разность между двумя датами находящихся в edit1.text и edit2.text. Если не трудно прямо напишите строку.
Спасибо


Anatoly Podgoretsky   (2002-06-17 20:11:00) [1]

Поставим вопрос иначе, путь есть две даты 01.01.2002 23:59:00 и 02.01.2002 00:00:00
Какой ты ожидаешь результат?


vova11   (2002-06-17 17:44:00) [2]

Спасибо, Всё получилось!!!!!!!!!!!!!!!!!!!!!!!


VDen   (2002-06-17 17:30:00) [3]

В составе Дельфей есть модуль DateUtils, а в нем функция DaysBetween. TDateTime делается из String функцией DateToStr.


Kaban   (2002-06-17 16:27:00) [4]

2 vova11
Если тебе нужна разница в днях, то подойдет простое вычитание из одной даты другой и округление:
Trunc(Date1-Date2);


Внук   (2002-06-17 16:27:00) [5]

Все-таки 2 - разность, а не частное.
Суммируя все сказанное:
...
var date1, date2:TDateTime;
...
begin
...
date1:=StrToDate(edit1.text);
date2:=StrToDate(edit2.text);
edit3.text:="Разность в днях:"+IntToStr(Trunc(date2-date1));
...
end;


-=CrazyFish=-   (2002-06-17 16:24:00) [6]

В библиотеке RX Library есть модуль dateutil.pas, который содержит уйму функций для работы с датами.


vova11   (2002-06-17 16:18:00) [7]

Здравствуйте, я вчера задавал вопрос по разности двух дат,
но наверное не правильно его сформулировал.
В edit1.text дата 12.10.2002 в edit2.text 10.10.2002
что нужно написать чтобы в edit3.text
было частное от этих дат - 2

До высшего образования мне далеко.


MBo   (2002-06-17 09:11:00) [8]

>Сатир
А сам попробовал? ;)

последняя строка может быть такой
ShowMessage("Разность в днях:"+IntToStr(Trunc(date2-date1)));


DeMoN-777   (2002-06-17 09:03:00) [9]

Login: Vova11
Дата рождения: 13.02.1990
Образование: высшее


DeMoN-777   (2002-06-17 09:01:00) [10]

>Кулюкин Олег © (17.06.02 08:40)

Верно помтили =)


Кулюкин Олег   (2002-06-17 08:40:00) [11]

Если верить анкете, то vova11 имеет высшее образование :)


Сатир   (2002-06-16 19:54:00) [12]

значит, тебе нужно использовать функции преобразования строки в дату, а здесь главное, чтоб пользователь честно вводил дату.
значит, вводишь две переменных типа TDateTime, в которых будешь хранить первую и вторую даты, напр.
var date1, date2:TDateTime
а у же после этого и пользуешься функцией преобразования строки в дату:

date1:=StrToDate(edit1.text);
date2:=StrToDate(edit2.text);
ShowMessage("Разность:"+DateToStr(date2-date1));

привет.


Anatoly Podgoretsky   (2002-06-16 16:06:00) [13]

Разность делает путем вычитания одной даты из другой, а вот какое вычитание использовать, зависит от того какой результат требуется


MBo   (2002-06-16 16:01:00) [14]

в каком виде записаны даты и в каких единицах разность?


Наверх

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