php判断是否上班时间

我想在网页上面显示我们的时间日期(北京时间),告诉访客,此刻 我们是上班时间还是下班。如果是周六周日以及五一(5.1--5.4)国庆(10.1--10.7),则显示假期,如果是周一到周五的早上9点以前及下午18点后,显示下班时间,周一至周五9点至18点显示上班

php判断是否是上班时间,用到的工具:notepad++,步骤如下:

    php代码部分:

<?php
date_default_timezone_set('asia/shanghai');
$week = date('w');
$day = date('md');
$time = date('G');
if($week==0 || $week==6) {
 $status = '假期';
} else if($time>=9 && $time < 18) {
 $status = '上班时间';
} else {
 $status = '休息时间';
}
echo date('Y-m-d H:i:s');
echo $status;
?>

运行效果图:

注意事项:代码需要运行在php环境下。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-09-08
<?php
class CheckTheTime{
    private $arrHoliday;
    private $arrWeekend;
    private $arrWorkTime;
    private function __construct(){
        $this->arrHoliday = [
            '2017-05-01',
            '2017-05-02',
            '2017-05-03'
        ];
        $this->arrWeekend = [
            0,6
        ];
        $this->arrWorkTime = [
            'on' => 9,
            'off' => 18,
        ];
    }
    public function judge(){
        $intTime = time();
        $boolHoliday = in_array(date('Y-m-d', $intTime), $this->arrHoliday);
        $boolWeekend = in_array(date('w', $intTime), $this->arrWeekend);
        $boolWorkTime = !$boolHoliday && !$boolWeekend && (date("H", $intTime) < $this->arrWorkTime['on']) && (date('H', $intTime) > $this->arrWorkTime['off']);
        if($boolHoliday) {
            echo "现在是假期时间,还让不让人好好休假了?!";
        } else if($boolWeekend) {
            echo "现在是周末哟,不上班的哟";
        } else if($boolWorkTime) {
            echo "抱歉,现在不是上班时间.";
        } else {
            echo "您好,请问有什么可以帮到您?";
        }
    }
?>

大致写了一个类,你看看能不能用,我没太仔细测,建议吧假期什么的写成配置;

第2个回答  2011-03-24
<?php
//下面一行代码是 PHP5版本以上的时候 需要用上, 设置时区
// 如果 服务器上已经配置好时区了 那就不需要了。
date_default_timezone_set('asia/shanghai');

$week = date('w');
$day = date('md');
$time = date('G');

//假期
$rest = array('0501','0502','0503','0504','1001','1002','1003','1004','1005','1006','1007');

if($week==0 || $week==6 || in_array($day,$rest)) {
$status = '假期';
} else if($time>=9 && $time < 18) {
$status = '上班';
} else {
$status = '下班';
}

echo date('Y-m-d H:i:s');
echo $status;

?>本回答被提问者采纳