Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.04;
Скачать: CL | DM;

Вниз

Вот ведь задачка...   Найти похожие ветки 

 
tovSuhov ©   (2002-06-24 10:12) [0]

Мастера, подмогните...Что-то клинануло меня...
Необходимо определить, входит ли указанное время во времянной интервал. Когда задаваемый интервал вида 10:00 - 18:00 (т.е. его начало меньше его конца) все просто:
if ((my_time >= time_begin) and (my_time <= time_end))
then (...)

Но когда интервал такого вида : 22:00 - 6:00
Вот тут начинаются проблемы...
Может кто подскажет алгоритм?


 
MBo ©   (2002-06-24 10:19) [1]

учти дату и все будет хорошо
(или прибавляй 1 при переходе суток)


 
Kaban ©   (2002-06-24 10:21) [2]

Что нибудь типа:
if time_begin + my_time >= time_end then


 
Канадин Владимир   (2002-06-24 11:13) [3]

TDateTime в себе содержит день (целая часть) и время (дробная)


 
kull ©   (2002-06-24 11:13) [4]

Я думаю так:


function InInterval(const my_time,time_begin,time_end: тип): Boolean;
begin
Result := (my_time >= time_begin) and
(my_time <= time_end)
or
(time_begin>time_end) and
(InInterval(my_time,time_begin,24:00) or
InInterval(my_time,0:00,time_end));
end;


Зависит от того, конечно какого типа my_time.


 
tovSuhov ©   (2002-06-24 11:17) [5]

Нет...Дело в том, что важно именно время, а не дни...
(Пишу тарификацию)
И поэтому нужно выяснить, что, к примеру, 2:00 входит в отрезок
23:00 - 6:00


 
Kaban ©   (2002-06-24 11:25) [6]

Логика следующая:
if time_begin < time_end then
begin
if my_time between [time_begin, time_end] then
begin
end;
end
else
if not (my_time between [time_end, time_begin]) then
begin
end;





 
MBo ©   (2002-06-24 11:27) [7]

сделай два интервала 22-24 и 00-06


 
kull ©   (2002-06-24 11:27) [8]


> kull © (24.06.02 11:13)

Так вот тебе и без дней...


 
tovSuhov ©   (2002-06-24 11:28) [9]

Точно!!!
Все гениальное просто! Спасибо!



Страницы: 1 вся ветка

Текущий архив: 2002.07.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
14-10017
dimonf
2002-06-01 10:45
2002.07.04
Приму участие в разработке коммерческого проекта.


6-9938
Jazzy$
2002-04-23 10:27
2002.07.04
Как зная только имя пользователя получить его домашний какталог.


4-10071
KPV-10k
2002-05-05 21:20
2002.07.04
Прозрачный RadioGroup


1-9886
alext
2002-06-20 15:48
2002.07.04
Коды стрелок?


3-9712
Стас
2002-06-07 11:52
2002.07.04
INSERT в Query с параметрами