#1,
我需要一些指导:
说我有一个时间列表(03.30, 04.35, 05.30, 08.05...23.00, 23.50, 00.36).
现在我知道开始日期,所以对于00:00到23:59之间的时间我可以简单地使用strtotime($ time,$ date)来获得有效的时间戳在给定的时间。但是我努力获得防弹时间戳的地方是在午夜之后移动的时间 - 使用strtotime($ time,$ date)会给我一个今天的时间戳,而不是下一个日期。
希望这有意义,有人可以指出我正确的方向。
我已经完成了强制搜索,但我认为我没有正确地写出我的要求:(
答案 0 :(得分:0)
如果我正确地认为列表总是排序并且最早的今天时间高于明天的时间,那么:
$list = array(03.30, 04.35, 05.30, 08.05, 23.00, 23.50, 00.36);
$nextday = $list[0];
$today = date("Y-m-d", time());
foreach ($list as $item) {
// need to convert to time format h:i
$time = str_replace('.',':', $item);
if ($item < $nextday) echo date("Y-m-d H:i:s", strtotime($today.' '.$time.' +1 day '))."\n";
else echo date("Y-m-d H:i:s", strtotime($today.' '.$time))."\n";
}
结果
2015-06-01 03:03:00
2015-06-01 04:35:00
...
2015-06-01 23:05:00
2015-06-02 00:36:00