Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Сергей 02.11.2005 20:02
@work_time[s_day;f_day;now] # Метод возвращает истину, если сейчас рабочее время и не выходной день # s_day - начало рабочего дня # f_day - конец рабочего дня # now - время, я обычно ставлю сейчас (объект класса date) # Определяем переменные # Смотрим всё ли ок с полученной датой $now ^try{$t[$now.day] }{ ^throw[work_time;$exception.source;Возможно вы не передали переменную ^$now] $exception.handled(1) } # Сотрим все ли ок с переданным нам временем работы ^try{ $s_day[^date::create[${s_day}]] $f_day[^date::create[${f_day}]] }{ ^throw[work_time;$exception.source;Возможно вы неверно ввели дату (надо - hh:mm, а у вас ${s_day} и ${f_day})] $exception.handled(1) } # Рабочее ли время $work_time[^if($now > $s_day && $now < $f_day){1}] # Рабочий ли день ^if($work_time){ $calendar_month[^date:calendar[rus]($now.year;$now.month)] $s[^calendar_month.locate($calendar_month.5 == $now.day)] $v[^calendar_month.locate($calendar_month.6 == $now.day)] ^if($s || $v){$result(0);$result(1)} }{$result(0)} #@work_time[] Вызов: $now[^date::now[]] $test[^work_time[7:00;18:00;${now}]] ^if($test){Работаем}{Не работаем}