首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php将15分钟的时间间隔添加到当前时间循环,直到午夜。

php将15分钟的时间间隔添加到当前时间循环,直到午夜。
EN

Stack Overflow用户
提问于 2018-04-17 05:53:53
回答 2查看 376关注 0票数 1

我需要在当前时间上增加15分钟,直到一天的midnight.which以下面的格式显示

代码语言:javascript
复制
11:15am
11:30am
11:45am

不会是这样的,

代码语言:javascript
复制
11:25am
11:40am
11:55am

我的代码是

代码语言:javascript
复制
$start =strtotime(date("d-m-Y h:i:s"));//strtotime('6:00am');
//echo $start;
//$end =strtotime('midnight');
$end = strtotime('12:00');//
$range = array();
while ($start <= $end)
{
echo date('h:ia',$start )."</br>";
$start = strtotime('+15 minutes',$start);
}

以上代码的结果,

代码语言:javascript
复制
11:28am
11:43am
11:58am

问题1:

怎样才能给出今天午夜那样的结束时间?

当我尝试strtotime('midnight')时,它返回空数据。

问题2:

如何将圆角时间显示到最近的四分之一?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-17 06:03:45

你可以使用24:00'tomorrow midnight'来获得下一个午夜。您的代码使用12:00,即“今天中午”。

代码语言:javascript
复制
$min = round(date("i") / 15) * 15;
$start = strtotime(date("Y-m-d H:$min:00"));
$end = strtotime('24:00');
$range = array();
while ($start <= $end)
{
    echo date('h:ia',$start )."</br>";
    $start = strtotime('+15 minutes',$start);
}

将产出:

代码语言:javascript
复制
08:15am
08:30am
...
11:30pm
11:45pm
12:00am

如果您不想包括“上午12:00”,可以将<=更改为<

代码语言:javascript
复制
while ($start < $end)
票数 1
EN

Stack Overflow用户

发布于 2018-04-17 06:13:00

问题是,您的代码必须完全由11:00启动才能使after 15 mins成为11:15

您可以将开始时间创建为11:00:00,以正确设置时间(演示):

代码语言:javascript
复制
$start =strtotime(date("h:00"));
$end = strtotime('12:00');
$range = array();

while ($start <= $end)
{
    $range[] = date('h:ia',$start );
    $start = strtotime('+15 minutes',$start);
}

var_dump($range);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49870809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档