首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP使用午夜后的物品来缩短时间

PHP使用午夜后的物品来缩短时间
EN

Stack Overflow用户
提问于 2017-11-06 20:37:34
回答 1查看 76关注 0票数 1

我有一个事件日历,在这个日历中,我将从数据库中提取事件。不过,从技术上讲,午夜项目在编程上更早,因此它们在列表中首先出现。我如何排序,以便午夜和以后的项目将出现在列表的末尾?

代码语言:javascript
复制
usort($events, function($a, $b) {
    //if after midnight (before 8am of next day)
    return strtotime($a['start_time']) >= strtotime('8:00') ? strtotime($a['start_time']) - strtotime($b['start_time']) : 1;
});

按照我现在的方式,他们按正确的顺序排序,但午夜或更晚的项目在第一项之后才出现。如果我在没有“早上8点之前”的情况下正常排序的话,他们就会先出现。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-06 20:42:43

如果时间是在清晨,在它加上一天,所以它将是晚上的时间。

代码语言:javascript
复制
usort($events, function($a, $b) {
    $oneday = 86400; // seconds in a day
    $cutoff = strtotime('8:00');
    $atime = strtotime($a['start_time']);
    if ($atime < $cutoff) {
        $atime += $oneday;
    }
    $btime = strtotime($b['start_time']);
    if ($btime < $cutoff) {
        $btime += $oneday;
    }
    return $atime - $btime;
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47145338

复制
相关文章

相似问题

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