Функция рабочего времени – Исходники PHP
12 Декабрь 2011
Из исходников системы мониторинга.
Наблюдение за всеми индикаторами мониторинга работает круглосуточно.
Для некоторых индикаторов понадобилось использовать в качестве условия значение "работает офис или нет".
// Конфигурация
$OfficeWorkTimes = array(
// day => null OR day => array('8:00','17:00')
1 => array('8:00','17:00'), // MON
2 => array('8:00','17:00'),
3 => array('8:00','17:00'),
4 => array('8:00','17:00'),
5 => array('8:00','17:00'), // FRI
6 => array('9:00','15:00'), // SAT
0 => null // SUN
);
// Функция
function OfficeWorkTime($dummy = false) {
GLOBAL $OfficeWorkTimes;
// Return: FALSE || array('begin' -> unix_datetime, 'end' -> unix_datetime)
$Now = getdate();
$v = $OfficeWorkTimes[$Now['wday']];
if (null == $v)
return false;
else {
$begin = strtotime($OfficeWorkTimes[$Now['wday']][0]);
$end = strtotime($OfficeWorkTimes[$Now['wday']][1]);
if ( (time() < $begin ) OR ( time() > $end ) )
return false;
else
return array('begin' => $begin, 'end' => $end);
}
}
Функция возвращает FALSE если сейчас не рабочее время или массив begin/end с сегодняшним рабочим временем ('begin' -> unix_datetime, 'end' -> unix_datetime).
Поделитесь полезным с друзьями