我花了很多时间试图弄清楚如何创建一个循环,它将在给定的$ start_time和$ end_time之间回显时间,以HH:MM的格式将其递增1小时。 例如,如果我有$ start_time =“09:00”和$ end_time =“15:00”,则输出应该如下:
09:00
10:00
11:00
12:00
13:00
14:00
15:00
知道怎么做吗?我知道我应该使用php时间戳和strtotime等我从来没有使用过它们,所以我什么也做不了,请帮忙...
答案 0 :(得分:0)
如果您只想echo
次,您可以做一些简单的事情:
$start_time = 9;
$end_time = 15;
for ($time = $start_time; $time <= $end_time; $time++) {
if ($time < 10)
echo "0";
echo $time . ":00\n";
}
答案 1 :(得分:0)
$start_time = "15:49";
$hours = 9;
list($h, $m) = explode(':', $start_time);
while ($hours-->0)
{
echo $h++ . ":" . $m . "\n";
}
答案 2 :(得分:0)
您可以使用mktime()
执行此操作$start = 7;
$end = 15;
for ($time = $start; $time <= $end; $time++) {
echo date("H:00", mktime($time+1)).'<br>';
}
只是为了好玩,这是另一个例子
foreach(range(intval('07:00:00'),intval('16:00:00')) as $time) {
echo date("H:00", mktime($time+1)).'<br>';
}
答案 3 :(得分:0)
$interval = date_interval_create_from_date_string('1 hour');
$begin = date_create('09:00');
$end = date_create('15:00')->add($interval);
foreach (new DatePeriod($begin, $interval, $end) as $dt) {
echo $dt->format('H:i') . "\n";
}
<强>演示:强>
答案 4 :(得分:-1)
自从我编写PHP以来,我已经有一段时间了但是看看link 注意我在编辑问题之前发布了这个。
while($starttime < $endtime)
{
echo $starttime;
$starttime = date_add($starttime, date_interval_create_from_date_string('1 hour'));
}