В каком формате задаётся время для $TIME$?

Голоса: +1
Добрый день!

Задача - отобразить в реальном времени следующие данные: если время такое-то - ветлечебница работает. Если другое - не работает. И всё было бы хорошо, если б не одно "но": одна начинает работать, например, в 8:30, а другая - в 9 ровно. И таких разночтений много.

В условии (работает с $HOUR$) при задании времени в формате $TIME$ наподобие 19:05 - условие перестаёт работать.

Вопрос 1: в каком формате задаётся время для этого кода?

Вопрос 2: коды $HOUR$ и $TIME$ будут обновляться только при перезагрузке страницы?
Адрес сайта -
| Автор: | Категория: Редактор страниц
Редактирование | | Автор: Persona Incognito
Покажите ваш пример сравнивания...
Вот для расписания:

Пн.-пт.:
с 9:00 до 22:00.
Сб.-вс.:
с 10:00 до 20:00.

<?if($WDAY$ = "1" || $WDAY$ = "2" || $WDAY$ = "3" || $WDAY$ = "4" || $WDAY$ = "5")?>
<?if($HOUR$>9 $$ $HOUR$<22)?><br><span style='color: #ff0000;'>[работает]</span>
<?else?><br><span style='color: #3498db;'>[сейчас нерабочее время]</span><?endif?>
<?else?>
<?if($HOUR$>10 $$ $HOUR$<20)?><br><span style='color: #ff0000;'>[работает]</span>
<?else?><br><span style='color: #3498db;'>[сейчас нерабочее время]</span>
<?endif?><?endif?>

А например, с таким вот расписанием не знаю, как задать время:

Пн.-пт.:
с 9:00 до 21:00.
Сб.-вс.:
с 9:00 до 20:30.
Откуда взялись знаки доллара в условии?
>><?if($HOUR$>9 $$ $HOUR$<22)?><<< не считая системных...
Попытка хоть как-то уменьшить количество кода, чтобы не писать отдельно.
если это был оператор И, то он пишется &&
Получилось, в общем, как-то так: http://smolenskanimals.ucoz.ru

По поводу $$ и && - видимо, я по ошибке их перепутала, поскольку при отображении в тегах code их сложно различить визуально.

Как я поняла, промежутки времени для 8:30 и прочих подобного рода не задать?

С отчаяния попыталась разобраться с Java, но дело также успехом не закончилось. Если честно, уже руки опускаются. Хотелось сделать удобно для людей, как это реализовано на 2gis, например - но там, видимо, php.
Хотелось бы ещё, чтобы было автообновление страницы без перезагрузки и кеширования.
Пока как-то так только.
<meta http-equiv="Cache-Control" content="no-cache">
и
<script type="text/javascript">
   setTimeout(function(){
    location.reload();
}, 60000);
    </script>

Ответов: 1

Голоса: +1
 
Лучший ответ

$TIME$ имеет текстовый формат и сравнение происходит до первого нечислового знака. Таким образом, чтобы добраться до минут, нужно проводить "вырезку"

Для расписания с 9:30 до 21:30 код будет иметь вид:

<?if(($HOUR$>09 && $HOUR$<21) || ($HOUR$=09 && substr($TIME$,-2)>29) || ($HOUR$=21 && substr($TIME$,-2)<31))?>
<br><span style='color: #ff0000;'>[работает]</span>
<?else?><br><span style='color: #3498db;'>[сейчас нерабочее время]</span><?endif?>

Кроме того, обратите внимание, что в условиях стоят знаки строго равенства и для расписания с 9:00 до 21:00 код будет выглядеть так:

<?if($HOUR$>08 && $HOUR$<22)?>
<br><span style='color: #ff0000;'>[работает]</span>
<?else?><br><span style='color: #3498db;'>[сейчас нерабочее время]</span><?endif?>

| Автор:
Выбор ответа лучшим | | Автор: Persona Incognito
Спасибо огромное, получилось)
...