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

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

Работа со временем [D6, WinXP]


NeoPlayer ©   (2005-06-27 05:23:00) 

Неправильно обрабатывает данные:
dTime:=Now;//Получаю текущее время - 06:15:23
If (dTime>=StrToTime('08:00:00')) and (dTime<StrToTime('17:00:00')) Then
status:=0;
If (dTime>=StrToTime('17:00:00')) and (dTime<StrToTime('23:00:00')) Then
status:=1;
if (dTime>=StrToTime('23:00:00')) and (dTime<StrToTime('08:00:00')) Then
status:=2;

Но выдаёт почему-то status=0
Почему? И как правильно сравнивать время.


NeoPlayer   (2005-06-27 14:38:00) [1]

Большое спасибо Yuri Btr за очень дельный совет, не знал -  исправлюсь.


Yuri Btr   (2005-06-27 11:17:00) [2]

to NeoPlayer ©  
Это звонилка ? :)
Вообще то лучше извлекать час функцией HourOf (Now) и сравнивать его с 8, 17, 23


evvcom   (2005-06-27 09:16:00) [3]


> видимо правильно сравнивать вместе с датой

А что, еще и дата есть? :)

В его случае, возможно, достаточно будет в 3-ем сравнении заменить "and" на "or".


sniknik   (2005-06-27 08:52:00) [4]

> Если время больше 23:00, то как оно может быть еще и меньше 8:00 ?
так это наверное 8 часов следующего дня.

> И как правильно сравнивать время.
в твоем случае видимо правильно сравнивать вместе с датой.


Юрий Зотов   (2005-06-27 05:53:00) [5]

> NeoPlayer ©   (27.06.05 05:23)

1. Замените Now на Time. Детали см. в справке.

2. Как это может работать:
if (dTime>=StrToTime('23:00:00')) and (dTime<StrToTime('08:00:00')) Then

Если время больше 23:00, то как оно может быть еще и меньше 8:00 ?


Antonn   (2005-06-27 05:36:00) [6]


> StrToTime

formatdatetime('HH:NN:SS',now)


Наверх

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