php 检查是否匹配指定时间段的方法

php点餐系统源码(PC+小程序+APP)开发搭建 系统是最好的在线订购和交付插件,结合WordPress的功能和灵活性,使设置您的php点餐系统源码变得轻而易举。最终,php点餐系统源码有助于企业降低成本,提高效率,缩短客户等待时间,并提供更好的客户服务。此外,php点餐系统源码通过使许多流程自动化,例如 账单和付款处理 . 企业可以改善客户服务 通过消除体力劳动和简化订购流程,帮助他们的企业增加销售。目的 php点餐系统源码 是为了简化 向客户订购货物或服务的过程 .它为客户在线购买商品提供了一个高效和方便的方式, 企业扩大客户基础和增加销售 . 阅读详情

因工作开发需要,需要判断一个时间是否在指定的时间段内,且需要支持判断周几及跨天的情况,因此写了以下这个方法,分享给大家学习使用。


代码如下:

<?php
/**
 * 判断时间是否匹配指定时间段
 *
 * Date:    2017-10-29
 * Author:  fdipzone
 * Version: 1.0
 *
 * @param  Array    $config  指定日期时段设定
 * @param  Int      $time    判断的日期时间,默认为当前日期时间
 * @return Boolean
 */
function check_time_match($config, $time=null){

    $curtime = isset($time)? $time : time();

    // 当前周几
    $curw = date('w', $curtime);

    // 上一天周几
    $prew = date('w', $curtime-86400);

    // 当前时分
    $curhm = date('H:i', $curtime);

    // 循环指定日期时段,检查是否匹配
    foreach($config as $k=>$v){

        // 循环时段
        foreach($v['range'] as $t){

            list($range, $next_day) = explode(',', $t);

            // 获取时段的开始结束时间
            list($starttime, $endtime) = explode('-', $range);

            // 当天
            if($next_day==0){

                // 检查周几是否匹配
                if(in_array($curw, $v['week'])){

                    // 检查时间是否匹配
                    if($curhm>=$starttime && $curhm<=$endtime){
                        return true;
                    }

                }

            // 跨天
            }else{

                // 检查当天周几是否匹配
                if(in_array($curw, $v['week'])){

                    // 检查当天时间是否匹配,开始时间-当天零点
                    if($curhm>=$starttime){
                        return true;
                    }

                }

                // 检查上一天周几是否匹配
                if(in_array($prew, $v['week'])){

                    // 检查上一天时间是否匹配,当天零点-结束时间
                    if($curhm<=$endtime){
                        return true;
                    }

                }

            }

        }

    }

    return false;

}
?>

 
demo:

<?php
// 指定日期时段设定
$config = array(
    array(
        'week' => array(1,2,3,4,5), // 周一至周五
        'range' => array('08:00-12:00,0', '14:00-18:00,0', '20:00-22:00,0')
    ),
    array(
        'week' => array(0,6), // 周六周日
        'range' => array('08:00-18:00,0', '20:00-02:00,1'), // 0:不跨天,1:跨天
    )
);

// 检查时间是否匹配
$check_time = array(
    null,               // 当前日期时间,2017-10-29 11:40 周日
    '2017-10-23 11:00', // 周一
    '2017-10-24 12:01', // 周二
    '2017-10-25 19:59', // 周三
    '2017-10-26 21:59', // 周四
    '2017-10-27 22:00', // 周五
    '2017-10-28 12:01', // 周六
    '2017-10-28 18:01', // 周六
    '2017-10-29 01:59', // 周日
    '2017-10-30 01:59', // 周一
    '2017-10-30 02:01', // 周一
    '2017-10-31 01:59', // 周二
);

foreach($check_time as $time){
    var_dump(check_time_match($config, strtotime($time)));
}
?>

输出:

boolean true
boolean true
boolean false
boolean false
boolean true
boolean true
boolean true
boolean false
boolean true
boolean true
boolean false
boolean false
PHP WebShell安全检测实战:从原理到防御的完整指南 在Web应用安全领域,服务器端脚本安全是核心议题之一。其原理在于攻击者通过上传或注入恶意脚本,利用Web服务器环境执行任意代码,从而获得服务器控制权。这项技术的安全价值极高,直接关系到数据安全、业务连续性与系统完整性。典型的应用场景包括存在文件上传、代码注入或反序列化漏洞的网站。本文聚焦于PHP WebShell的检测与防御,深入剖析其混淆加密、动态行为等特征,并探讨如何结合静态分析与动态监控构建有效防线,其中对**高危函数**的识别和对**异常流量**的监控是关键的切入点。 阅读详情

相关推荐

PHP服务端集成友盟推送全指南

消息推送作为移动应用开发中的核心技术,通过实时触达用户显著提升产品活跃度。其实现原理主要依赖设备标识符与推送服务的稳定连接,其中友盟推送凭借高到达率和丰富的数据统计功能成为主流选择。从技术价值看,服务端集成推送能力需要处理设备管理、消息队列、失败重试等关键环节,这对电商订单提醒、社交互动通知等场景尤为重要。本文以PHP为例演示友盟推送SDK的完整接入流程,包含Android/iOS双端配置、批量推送优化等实战技巧,其中通过连接复用和异步队列可将推送延迟降低40%,配合Redis限流策略能有效控制API失败率

weixin_30466039的博客 369

PHP判断当前时间是否在某一时间段内

&lt;?php function get_curr_time_section() { $checkDayStr = date('Y-m-d ',time()); $timeBegin1 = strtotime($checkDayStr."09:00".":00"); $timeEnd1 = strtotime($checkDayStr."18:00".":00");...

行走的卡路里 1486

php中如何高效地实现一个函数以判断给定日期是否位于多个预定义的时间范围内,同时确保代码的可读性、可维护性和性能优化

同时,解答中应包含对性能优化、代码可读性和可维护性的讨论,以及对错误处理和边界情况的处理策略。这个步骤是必要的,因为直接比较字符串日期可能会导致意外的结果,特别是当它们以不同的格式给出时。另外,注意到原始问题中的时间范围数组已经足够清晰,并且可以直接用于比较(如果它们已经是。但是,由于它们最初是作为字符串给出的,因此添加了一个步骤来将它们转换为。对象和一个包含时间范围(起始和结束日期为字符串)的数组,通过转换字符串为。现在,代码应该能够准确地判断给定的日期是否在任何一组指定的时间范围内。

挖掘大数据价值,让决策者快速洞悉趋势,让大众读懂数据背后的故事。 453

PHP正则验证日期

PHP正则验证日期

fangwenkai的博客 526

VisionPro开发实战:CogRecordDisplay控件显示与保存图片的完整流程(附C#代码示例)

本文详细解析了VisionPro开发中CogRecordDisplay控件的图像处理全流程,包括图像加载、显示优化、动态清屏及结果保存等关键操作。通过C#代码示例,展示了如何高效使用该控件进行工业视觉应用开发,特别适合自动化检测系统的开发者参考。

weixin_42523792的博客 274

php正则表达式 匹配日期,正则表达式-正则表达式以匹配有效日期

我登陆这里是因为这个问题的标题很宽泛,我一直在寻找可用于匹配特定日期格式(例如OP)的正则表达式。 但是我随后发现,正如许多答案和评论已全面突出显示的那样,在提取与质量低劣或非结构化源数据混在一起的日期时,存在许多陷阱使构建有效模式变得非常棘手。在探索问题时,我想出了一个系统,使您可以通过将四个在分隔符上匹配的更简单的子表达式以及顺序中的年,月和日字段的有效范围排列在一起,来构建正则表达式 您需要...

weixin_34517026的博客 1987

手把手教你用MATLAB和PSIM搞定Buck电路控制器:从传递函数到运放电路实战

本文详细介绍了如何使用MATLAB和PSIM协同设计Buck电路控制器,从传递函数推导到运放电路实现的完整流程。通过小信号建模、波特图分析和双平台仿真验证,帮助电力电子工程师解决理论到实践的转化难题,提升Buck电路控制器设计的效率和可靠性。

weixin_29271053的博客 267

php判断是不是在某个时间段内

方式一、判断小时和分钟 <?php date_default_timezone_set("Asia/Shanghai");//设置时区,亚洲/上海时区 $time = intval (date("Hi")); if ($time > "800" && $time < "1130") { echo "在指定的时间段内"; } ?> 方式二、只判断小时 <?php date_default_timezone_set("Asia/Shanghai");/

美奇软件开发工作室 2158

eLabRadio软件无线电虚实结合仿真开发平台简介

在使用仿真平台时,不要关闭设备或断开设备与PC机之间的网络连接,否则,仿真平台将无法正常工作。注:采用eNodeX设备认证方式,当出现“设备不存在”的报错时,请检查计算机IP是否和硬件设备IP处于同一网段,或者是否是先连接好网线,再开启硬件设备的。①此登录方式下,需要先建立软件与硬件的通信:在登录窗口点击【网络配置】,参照下图输入设备IP,服务器地址无需设置,设置完成后点击确认,此时登录界面无需设置账号密码;,拷贝到电脑上,使用管理员权限运行setup.exe,下一步直到安装完成,桌面会生成快捷方式。

weixin_55349105的博客 6317

【毕设实战】飞行器目标识别系统:基于YOLOv5的智能检测全流程教程,助你毕设脱颖而出

本文介绍了一个基于YOLOv5的飞行器目标识别系统的开发过程。系统包含数据采集与标注、模型训练、实时检测和UI界面四大模块。文章详细讲解了从环境搭建、数据标注到YOLOv5模型训练的全流程,包括如何划分数据集、配置参数和测试模型性能。同时提供了实时检测代码示例和UI界面开发思路,使读者能够快速实现一个完整的智能检测系统。该系统可应用于军事侦察、民用巡检等领域,具有较高的实用价值,适合作为计算机视觉相关的毕业设计项目。

FJN110的博客 108

php判断当前时间是否在指定的时间区间

【代码】php判断当前时间是否在指定的时间区间。

1002710030 471

Android 9.0 系统framework关于忘记开机锁屏密码进不去系统桌面清除锁屏密码问题的解决

在9.0的系统rom定制化开发中,在一些产品中带锁屏密码的功能中,系统默认是滑动解锁,但是客户会设置锁屏密码,在某些时候会 忘掉锁屏密码,导致需要进入恢复出厂设置然后才能进入系统桌面,这样就导致系统的保存的资料都丢失了,所以需要要求提供接口 在下拉状态栏中或者系统服务中在忘记锁屏密码后不恢复出厂设置的情况下,可以清除锁屏密码,接下来就来实现功能

安卓兼职framework和app工程师的博客 615

检测时间段冲突php_详解php 检查是否匹配指定时间段的方法

因工作开发需要,需要判断一个时间是否在指定的时间段内,且需要支持判断周几及跨天的情况,因此写了以下这个方法,分享给大家学习使用。代码如下:...

weixin_42297519的博客 540

YOLOv11改进 | 添加注意力篇 | 一文带你改进GAM、CBAM、CA、ECA等通道注意力机制和多头注意力机制

这篇文章给大家带来的改进机制是一个汇总篇,包含一些简单的注意力机制,本来一直不想发这些内容的(网上教程太多了,发出来增加文章数量也没什么意义),但是群内的读者很多都问我这些机制所以单独出一期视频来汇总一些比较简单的注意力机制添加的方法和使用教程,本文的内容不会过度的去解释原理,更多的是从从代码的使用上和实用的角度出发去写这篇教程。欢迎大家订阅我的专栏一起学习YOLO!YOLOv11改进系列专栏——本专栏持续复习各种顶会内容——科研必备目录一、本文介绍二、GAM2.1 GAM的介绍2.2 GAM的核心代码。

Snu77的博客 5151

PCL 基于强度的双边滤波【2026最新版】

基于强度信息的双边滤波代码实现、滤波前后点云未出现变化的原因以及获取带有强度pcd点云的方法。本文由优快云点云侠原创,博客长期更新,本文最近一次更新时间为:2026年5月24日。

点云侠的博客 29万+

php 获取当年开始时间,php 依据输入 开始时间 结束时间 获取数据库中表中记录...

php 根据输入 开始时间 结束时间 获取数据库中表中记录我要做的是一个统计页面查询条件是根据输入(js点击选择时间)开始时间结束时间点确定按钮查询这时间段记录数据库字段:idint(10)ipvarchar(50)timevarchar(50)typevarchar(50)开始日期:结束日期:下面是一个表格:内容是类型和对应数量请各位帮下忙,刚接触统计------解决方案-...

weixin_34092535的博客 270

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

订房系统 php,php-预订系统日期

我必须制定一个预订系统,在该系统上可以最少预订6个小时的会客室,因此,当用户在某个日期进行预订时,例如2012年4月24日,他然后选择租赁的开始时间(00:00-06 :00,06:00-12:00,12:00-18:00,18:00-24:00).用户想要租用房间的总小时数(6、12、18等).日期存储为整数(时间戳).我对此有两个问题;我不知道如何接收一个月中所有仍可能保留房间的日期,以及如何...

weixin_29832179的博客 532

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

php 房间匹配,房间和可用性日期PHP / MySQL

所以,我正在设计一个将用于酒店的Web应用程序,它最终应该成为一个简单的方法来为每个酒店网站安装一些额外的代码。该应用程序正在使用PHP和MySQL。所以,正如你可能猜到的,我对数据库结构感到困惑。虽然,我已经做了一些研究,但我不只是要求一个完整的预订系统。所以,酒店老板必须有很多类型的房间。因此,我认为可能的房间表是一个“必须”。开始了:---------- Rooms Table (examp...

weixin_28292761的博客 192

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

掌握Symfony/Finder的终极技巧:轻松实现日期范围过滤与文件内容精准匹配

Symfony/Finder是一个功能强大的文件查找工具,它通过直观的流畅接口帮助开发者轻松定位和筛选文件与目录。本文将深入探讨其两个高级特性——日期范围过滤与文件内容匹配,带你解锁高效文件搜索的新技能! ## 为什么选择Symfony/Finder? 在日常开发中,我们经常需要处理大量文件。无论是查找特定日期修改的文件,还是筛选包含特定内容的文档,Symfony/Finder都能提供简洁而强

gitblog_00964的博客 482

PHP时间相减总结

1. PHP里怎么将2个字符串时间相减得到秒数? $a = '2010-02-05 16:08:20'; $b = '2010-02-05 16:09:20'; b比a大1分钟也就是60秒,怎么相减得到60 把这个转化为具体的时间戳,用strtotime strtotime($b)-strtotime($a)=60 得到秒数,然后就可以减了 2.   3. 获得系统当前时间 : $ctime=strtotime(date("Y-m-d H:i:s"));

Superxgl的专栏 7531

php实时检索怎么做,php – 用于检索实时体育比分的Cron设置

根据你的一条评论判断the main problem is I’m on a shared server with no ssh access…我认为这里的问题是您无法访问命令shell,只能使用Plesk将文件呈现给服务器.因此,要呈现您的解决方案,您将使用cron作业.在这种情况下,我建议您与托管服务提供商进行双重检查,以了解您可以运行的cron作业数量/ cron作业允许的最低频率限制.如果...

weixin_30444625的博客 176

网站会员注册php代码,帝国cms会员注册/e/member/register/index.php文件代码注释-网站程序网...

require('../../class/connect.php');require('../../class/db_sql.php');require('../class/user.php');require('../class/member_registerfun.php');$link=db_connect();$empire=new mysqlquery();$editor=1;eChec...

weixin_42232139的博客 1231

PHP实现文章定时发布设置

<?php /*获取文章的发布信息 * * 第一次使用需手动创建/lcookie/taiyuan_article_statistic.txt文件。 * 文件格式为: * //警告!警告!警告!警告!警告!警告!警告!警告! //手动更改或删除此文件会导致太原网文章预签发时间错误!将造成严重损失!如若更改后果自负!!! //警告!警告!警告!警告!警告

wang_huan2011的专栏 4685

php 搜索工作经验小结

1.保证程序的响应速度要快,准:     a.建表、写sql要注意性能方面的点         建表结构尽量简单(单个表字段不要多,可以通过关键字段建扩展表和详细表,数据量太大的可以考虑分表)。 常用查询字段并且数值分散度高的建索引写sql的时候:尽量不要出现子查询或查询结果作为临时表这样的结 构,因为子查询的时候不会走索引,如果是一张大表会很慢;where条件的时候,将能过滤出最小结果的

cdy102688的专栏 814

php笔记

1 网站主目录设置 计算机管理&gt;Default Web Site&gt;基本设置&gt;编辑网站&gt;物理路径 2 启动Apache 2.4出错,提示缺少msvr110.dll怎么办 安装Apache之前务必要安装 Visual C++ 2015,同时启动一下三个服务 Windows modules installer,windows update,window defender ...

LemonsDemoZ的博客 291
上一篇: php 基于redis计数器类
下一篇: MongoDB 集合字段匹配查询方法
傲雪星枫
博客等级 码龄15年 2307粉丝 306原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值