循环几分钟PHP

时间:2013-02-07 09:37:16

标签: php loops foreach

我正在尝试每分钟设置一个foreach loop的变量。 我有这段代码:

$dhit = 2013-02-07 04:21:01;
$dnow= 2013-02-07 10:21:01;

$begin = new DateTime( $dhit );
$end = new DateTime( $dnow );

$interval = DateInterval::createFromDateString( '1 minute' );
$period = new DatePeriod($begin, $interval, $end);
$a = 0;
foreach ( $period as $dt ) {
  $a+=1;
  echo $a; 
}

如果$dhit至少24小时(2013-02-06 04:21:01),它会很有效但如果$dhit具有相同的日期(同一天,即2013- 02-07)$dnow

我做错了什么?

2 个答案:

答案 0 :(得分:3)

这对我有用,我怀疑你的系统时间可能没有正确设置。

你得到什么错误?

这是我做的测试,按预期打印1-360

<?php

$dhit = '2013-02-07 04:21:01';
$dnow= '2013-02-07 10:21:01';

$begin = new DateTime( $dhit );
$end = new DateTime( $dnow );

$interval = DateInterval::createFromDateString( '1 minute' );
$period = new DatePeriod($begin, $interval, $end);
$a = 0;
foreach ( $period as $dt ) {
  $a+=1;
  print "$a\n"; 
}

答案 1 :(得分:0)

这对我来说很好,打印123456.你忘了在你的日期附近加上引号。

$dhit = '2013-02-07 10:15:01';
$dnow= '2013-02-07 10:21:01';

$begin = new DateTime( $dhit );
$end = new DateTime( $dnow );

$interval = DateInterval::createFromDateString( '1 minute' );
$period = new DatePeriod($begin, $interval, $end);
$a = 0;
foreach ( $period as $dt ) {
  $a+=1;
  echo $a; //output 123456
}