这比你想象的要容易得多.假设您有三次,t1,t2和tn分别代表from,to和user time.将这些时间视为六位数字(从000000到235959)并检查:

>如果t1和t2出现在午夜边界的同一侧

>检查tn是否位于t1和t2之间

>其他

>检查tn和t1之间是否存在tn

代码和测试:

function check_time($t1, $t2, $tn) {

$t1 = +str_replace(":", "", $t1);

$t2 = +str_replace(":", "", $t2);

$tn = +str_replace(":", "", $tn);

if ($t2 >= $t1) {

return $t1 <= $tn && $tn < $t2;

} else {

return ! ($t2 <= $tn && $tn < $t1);

}

}

$tests = array(

array("16:00:00", "22:30:00", "15:00:00"),

array("16:00:00", "22:30:00", "16:00:00"),

array("16:00:00", "22:30:00", "22:29:59"),

array("16:00:00", "22:30:00", "22:30:00"),

array("16:00:00", "22:30:00", "23:59:59"),

array("22:30:00", "16:00:00", "22:29:59"),

array("22:30:00", "16:00:00", "22:30:00"),

array("22:30:00", "16:00:00", "15:59:59"),

array("22:30:00", "16:00:00", "16:00:00"),

array("22:30:00", "16:00:00", "17:00:00")

);

foreach($tests as $test) {

list($t1, $t2, $t0) = $test;

echo "$t1 - $t2 contains $t0: " . (check_time($t1, $t2, $t0) ? "yes" : "no") . "\n";

}

// OUTPUT

//

// 16:00:00 - 22:30:00 contains 15:00:00: no

// 16:00:00 - 22:30:00 contains 16:00:00: yes

// 16:00:00 - 22:30:00 contains 22:29:59: yes

// 16:00:00 - 22:30:00 contains 22:30:00: no

// 16:00:00 - 22:30:00 contains 23:59:59: no

// 22:30:00 - 16:00:00 contains 22:29:59: no

// 22:30:00 - 16:00:00 contains 22:30:00: yes

// 22:30:00 - 16:00:00 contains 15:59:59: yes

// 22:30:00 - 16:00:00 contains 16:00:00: no

// 22:30:00 - 16:00:00 contains 17:00:00: no

php两次访问时间,php – 检查当前时间是否介于两次之间,可能会有几天的时间相关推荐

  1. LinuxI2C驱动--从两个访问eeprom的例子开始

    本小节介绍两个在linux应用层访问eeprom的方法,并给出示例代码方便大家理解.第一个方法是通过sysfs文件系统对eeprom进行访问,第二个方法是通过eeprom的设备文件进行访问.这两个方法 ...

  2. 探讨Netty获取并检查Websocket握手请求的两种方式

    在使用Netty开发Websocket服务时,通常需要解析来自客户端请求的URL.Headers等等相关内容,并做相关检查或处理.本文将讨论两种实现方法. 方法一:基于HandshakeComplet ...

  3. linux复制文件带系统时间,不同方法/系统下复制文件时新文件的日期区别,以及查看文件创建时间、修改时间、访问时间的方法...

    1:1 格拉摩根的洛斯里克城.有一个狗头人.名叫唯一丢人.是Paradox的伯爵.任天堂的主宰.育碧的bug.波兰蠢驴的打桩机. 1:2 他有三个妻.一名Windows.一名Linux.一名MacOS ...

  4. \t\t最近两周访问来源统计

    最近两周访问来源统计 数据来源 http://hi.baidu.com/lu_mh 166 http://www.baidu.com/s?wd=睡觉出汗&oq=睡觉&f=3&r ...

  5. java代码安全检测机制,下列选项中,属于Java语言的代码安全检测机制的一项是______。A.动态链接B.访问权限的检查C.通过接...

    下列选项中,属于Java语言的代码安全检测机制的一项是______.A.动态链接B.访问权限的检查C.通过接 更多相关问题 Schema类型定义中当需要基于内置的基本数据类型定义一个新的数据类型时,用 ...

  6. 入职后经常去学习的两个网站和工作生活中经常去的两个网站,分类整理了官网链接随时访问

    入职后经常去学习的两个网站和工作生活中经常去的两个网站,分类整理了官网链接随时访问. 一.提升能力 想要升职加薪,首先需要通过自学提升自己的各种能力. 1. edX 提升自己专业能力,主要是让学校里学 ...

  7. 大一女生废话编程爆火!网友:有时间拍抖音不如刷多两道leetcode

    上一篇:为什么阿里巴巴要禁用 Executors 创建线程池 ? 杨净 丰色 发自 凹非寺 量子位 | 公众号 QbitAI 她的日更作业,竟让网友直呼:中国计算机界的神! 短短两个星期的时间里,这个 ...

  8. Python计算两日期之间排除节假日与非上班时间的工作时间

    Python计算两日期之间排除节假日与非上班时间的工作时间 前言 一.基本思路 二.代码示例 总结 文章目录 前言 一.基本思路 二.代码示例 总结 前言 工作中遇见需要写UDF计算事项办理时间的需求 ...

  9. 计算机网络原理 MAC帧之间的碰撞问题 详解:假定站点A 和B 在同一个10Mb/s 以太网网段上。这两个站点之间的时延为225 比特时间……

    3-24 : 问题: 假定站点A 和B 在同一个10Mb/s 以太网网段上.这两个站点之间的时延为225 比特时间.现假定A 开始发送一帧,并且在A 发送结束之前B 也发送一帧.如果A 发送的是以太网 ...

最新文章

  1. 原创 | 从ULMFiT、Transformer、BERT等经典模型看NLP 发展趋势
  2. 【解决方法】Panda read_csv()把第一行的数据变成了列名,怎么处理
  3. Qt Creator创建UI
  4. 【select模块】select IO多路复用和select实现FTP
  5. php上传文件程序,php 文件上传程序(二款简单文件上传程序)_PHP教程
  6. 织梦CMS AJAX分页,可自定义typeid,调取任意内容
  7. gprs 睡眠模式_GPRS的完整形式是什么?
  8. java递归空瓶换饮料_问题描述:一次买n瓶可乐,k个空瓶可以换一瓶饮料,那么一共能喝多少瓶饮料? | 学步园...
  9. python裁剪图片并保存_python – 如何从图像中剪切轮廓并将其保存到新文件中
  10. nodejs window下安装与配置淘宝镜像
  11. Git教程——临时修改 (stash)
  12. Linux连接锐捷校园网客户端
  13. html播放优酷链接视频教程,视频教程链接(请将网址复制粘贴到浏览器地址栏查看):...
  14. ps知识的教学 day01
  15. 安全管家安卓_网速管家安卓5.4版本全面上线
  16. 贪心算法的数学证明 (更新中)
  17. FRM-18108 FRM-10102错误解决
  18. 曾经写过得太监小说2《天道》
  19. revel MySQL_使用Revel(go)开发网站
  20. 关于人工智能的一些幻想

热门文章

  1. 【数理知识】矩阵束 Matrix Pencil
  2. 【步态识别】基于CNN深度学习的步态识别算法的MATLAB仿真
  3. ppwjs之bootstrap表格:String.到表头单元格元素 和 String.到表格单元格元素
  4. kaggle House_Price_XGBoost
  5. sourceInsight4 破解笔记(完美破解)
  6. ExecutorCompletionService原理具体解释
  7. windows新建或者重命名文件及目录必须手动刷新才干显示出来问题解决方法
  8. HTML5 元素选择流程图
  9. 取消win开机chkdsk is verifying files
  10. Repeater、GridView等 操作XML