我试图按照指定的时间间隔(时间间隔是2小时,我是120分钟)来获取所有时间段,如此
<?php
$start=strtotime('08:00');
$end=strtotime('18:00');
for ($i=$start + $k; $i<=$end - 1; $i = $i + 120*60) {
echo date('g:i A',$i) . " - " . date('g:i A',$i + 120*60 ) . '<br>';
}
?>
以上代码输出
8:00 AM - 10:00 AM
10:00 AM - 12:00 PM
12:00 PM - 2:00 PM
2:00 PM - 4:00 PM
4:00 PM - 6:00 PM
我试图获得类似下面的输出
8:00 AM - 10:00 AM
9:00 AM - 11:00 PM
10:00 AM - 12:00 PM
11:00 AM - 01:00 PM
12:00 PM - 02:00 PM
01:00 PM - 03:00 PM
02:00 PM - 04:00 PM
03:00 PM - 05:00 PM
04:00 PM - 06:00 PM
时间不应超过下午6点,我是PHP的新手,有人可以帮我解决这个问题,谢谢
答案 0 :(得分:0)
尝试使用while
循环,因为它使更容易读取代码。
$start = strtotime('08:00');
$end = strtotime('18:00');
while ($start <= $end) {
// Set dates to display
$date1 = $start;
$date2 = $start + (120*60);
echo date('g:i A',$date1) . " - " . date('g:i A',$date2) . '<br>';
// Increment Start date
$start += (60*60);
}
// 8:00 AM - 10:00 AM
// 9:00 AM - 11:00 AM
// 10:00 AM - 12:00 PM
// 11:00 AM - 1:00 PM
// 12:00 PM - 2:00 PM
// 1:00 PM - 3:00 PM
// 2:00 PM - 4:00 PM
// 3:00 PM - 5:00 PM
// 4:00 PM - 6:00 PM
// 5:00 PM - 7:00 PM
// 6:00 PM - 8:00 PM