-1

我花了很多时间试图弄清楚如何创建一个循环,该循环将在给定的 $start_time 和 $end_time 之间以 HH:MM 格式将时间增加一小时。例如,如果我有 $start_time = "09:00" 和 $end_time="15:00" 输出应该是这样的:

09:00

10:00

11:00

12:00

13:00

14:00

15:00

知道怎么做吗?我知道我应该使用 php 时间戳和 strtotime 等,因为我从未使用过它们,所以我无能为力,请帮助...

4

5 回答 5

2

你可以用 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>';
}
于 2013-10-21T11:08:43.063 回答
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";
}
于 2013-10-21T11:02:43.863 回答
0
$start_time = "15:49";
$hours = 9;

list($h, $m) = explode(':', $start_time);
while ($hours-->0)
{
    echo $h++ . ":" . $m . "\n";
}
于 2013-10-21T11:05:52.467 回答
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";
}

演示:

于 2013-10-21T16:35:24.397 回答
-1

自从我编写 PHP 代码以来已经有一段时间了,但请查看此链接
注意我在编辑问题之前发布了这个。

while($starttime < $endtime)
{
    echo $starttime;
    $starttime = date_add($starttime, date_interval_create_from_date_string('1 hour'));
}
于 2013-10-21T11:00:43.877 回答