php - PHP DateDiff 时间范围块
问题描述
我的时间范围以 30 分钟为单位,
13:00 - 13:30
13:30 - 14:00
14:00 - 14:30
15:00 - 15:30
etc...
我想在当前时间选择正确的 30 分钟块。
例如
Current Time 13:42
13:00 - 13:30
13:30 - 14:00 <- This block is selected
14:00 - 14:30
15:00 - 15:30
目的是检索为该块分配一个值。
真的我要问的是我会使用什么方法和方法?
我将使用 PHP
谢谢
$hour = date('H');
$minutes = date('i');
if ($minutes >= 30)
{
$hour++;
}
echo $hour;
/////////////////////
echo "<BR>";
$hour = date('H');
$minute = (date('n')>30)?'30':'00';
echo "$hour:$minute";
解决方案
用explode拆分后的简单字符串比较在这里:
$blocks = [
'12:30 - 13:00',
'13:00 - 13:30',
'13:30 - 14:00',
'14:00 - 14:30'
];
$curTime = '13:42';
$found = false;
foreach($blocks as $key => $block){
$time = explode(' - ',$block);
if($curTime >= $time[0] AND $curTime < $time[1]){
$found = $key;
break;
}
}
if($found !== false) echo $blocks[$found];
else echo 'not found';
推荐阅读
- javascript - 是否可以让 JQGrid Tree 使用 OnSelectRow 展开节点
- amazon-s3 - AWS S3 中的跨账户文件访问
- python - 您将如何使用另一个包含列表的列表来订购包含列表的列表?
- vhdl - VHDL 中的 2:1 Mux - 信号不改变值
- apache-spark - 带有结构化流 protobuf 的 Apache Kafka
- java - 实现 Iterable 与实现 Iterator
- c - 将文件的每一行作为字符串存储在数组中
- sql-server-2012 - SQL“组”和“计数”类别
- encoding - 在 Jest 测试中编码的双引号
- python - 使用“scrapy”进行 Python 网络抓取:不从 span 中提取文本