使用循环或foreach生成日期时间

时间:2011-12-18 02:28:46

标签: php datetime date

是否可以使用循环for或foreach以30分钟的间隔生成数据时间?

例如:

for($i=0;$i<?;$i ??){
echo ;
}

现在 2011-12-18 02:24:00

我希望收到:

2011-12-18 02:00:00
2011-12-18 02:54:00
2011-12-18 03:24:00
2011-12-18 03:54:00
2011-12-18 04:24:00
2011-12-18 04:54:00
2011-12-18 05:24:00

3 个答案:

答案 0 :(得分:1)

您可以使用PHP的DateTime

$datetime = new DateTime();

echo $datetime->format('Y-m-d H:i:s'), "\n";

for($i=0;$i<10;$i++){
    $datetime->modify('+30 minutes');

    echo $datetime->format('Y-m-d H:i:s'), "\n";
}

Demo

答案 1 :(得分:0)

这可以使用php的time()功能轻松实现并添加30 * 60秒。

$time = time();
for($i=0; $i<10; $i++){
  // add 30 minutes à 60 seconds
  $time += 30*60;
  echo date('Y-m-d H:i:s', $time), "\n";
}

See a demo on codepad

答案 2 :(得分:0)

$sStartDate = date('Y-m-d H:i:s');
for ($i=0;$i<10;$i++)
{
  echo '<br />'.$sStartDate  = date('Y-m-d H:i:s', strtotime('+30 minutes', strtotime($sStartDate)));
}