加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

32小时前用PHP排除周末

发布时间:2020-12-13 16:14:01 所属栏目:PHP教程 来源:网络整理
导读:所以我有一个脚本可以在32,48和72小时前进行多次检查. 基本上我检查我的数据库中至少有x个小时的条目. 现在这样工作正常: $date = date('Y-m-d H:i:s',strtotime('-32 hours')); $q = "SELECT * FROM `table` WHERE `date` = '".$date."'"; 现在我想要排除
所以我有一个脚本可以在32,48和72小时前进行多次检查.
基本上我检查我的数据库中至少有x个小时的条目.

现在这样工作正常:

$date = date('Y-m-d H:i:s',strtotime('-32 hours')); 
$q    = "SELECT * FROM `table` WHERE `date` <= '".$date."'";

现在我想要排除周末.我知道你可以在strtotime中使用工作日来获得这种效果,但这不会持续数小时.

48小时很容易,因为我可以简单地执行以下操作:

echo date('Y-m-d H:i:s',strtotime(date("Y-m-d H:i:s").
          " -2 weekdays ".
          date('H:i:s')));

72小时也很容易,因为它是3天.然而,32小时是一个问题,因为它是±1.3天.

总之,如何获得32小时前的日期时间,不包括周末.

解决方法

像你最初一样使用strtotime:

$time = strtotime('-32 hours');

然后手动进行周末/工作日计算.

// If the day is Sunday or Saturday subtract a full day.
while (date('w',$time) % 6 == 0) {
    $time = strtotime('-1 day',$time);
}
$date = date('Y-m-d H:i:s',$time);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读