【发布时间】:2014-12-15 17:46:45
【问题描述】:
我正在尝试根据我的数据库中记录的时间显示不同的内容。
从 1800 pm 到 0800 am 显示内容 B。 剩余时间显示内容A。
我的数据库字段是存储时间字段,因此在数据库中 1800 pm 存储为 18:00:00 与 0800 am 相同,它存储为 08:00:00。
以下是我在 18:00:00 到 08:00:00 之间获取内容 B 的逻辑:
$now = strtotime(date('H:i:s'));
$time_from = strtotime($data['date_from']); //18:00:00
$time_to = strtotime($data['date_to']); // 08:00:00
if($now >= $time_from && $now <= $time_to){
echo 'content A';
}
上面的代码只有在我的$time_to 在 23:59:59 之内时才有效,因为$now 总是大于08:00:00。假设现在是23:30:00,我的代码永远不会回显“内容A”,因为23:30:00 大于08:00:00。
我怎样才能使逻辑工作按时间检查才显示内容?
@All,我再次编辑代码。是的。我确实放了 $now = strtotime(date('H:i:s'));。但它也不能正常工作。首先,当前现在的 unix 时间戳将始终大于 08:00:00 unix 时间戳。假设现在的时间是 23:30:00。 unix 时间戳总是大于 08:00:00。
【问题讨论】:
-
为什么不使用 Carbon 库来操作日期,这很容易github.com/briannesbitt/Carbon