我正在尝试每分钟设置一个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
。
我做错了什么?
答案 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
}