parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Спасибо, так правильнее и читабльнее

DeletedName 03.11.2005 07:19

@work_time[s_day;f_day;now]
# Метод возвращает истину, если сейчас рабочее время и не выходной день
# s_day - начало рабочего дня
# f_day - конец рабочего дня
# now - время, я обычно ставлю сейчас (объект класса date)

# Определяем переменные
# Смотрим всё ли ок с полученной датой $now
  ^if(!($now is "date")){
     ^throw[work_time;$exception.source;Возможно вы не передали переменную ^$now]
  }

# Сотрим все ли ок с переданным нам временем работы
 ^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}]

# Рабочий ли день
  $result($work_time && $now.weekday >= 1 && $now.weekday <= 5)
#@work_time[]