Php 两个日期之间的所有日期,间隔30分钟

Php 两个日期之间的所有日期,间隔30分钟,php,datetime,Php,Datetime,我有$1='2011-12-22 07:00和$2='2011-12-22 11:30' 我希望以30分钟的间隔接收所有数据。例如,本示例应为: 2011-12-22 07:00 2011-12-22 07:30 2011-12-22 08:00 2011-12-22 08:30 2011-12-22 09:00 2011-12-22 09:30 2011-12-22 10:00 2011-12-22 10:30 2011-12-22 11:00 2011-12-22 11:30 这是否可能与

我有$1='2011-12-22 07:00和$2='2011-12-22 11:30'

我希望以30分钟的间隔接收所有数据。例如,本示例应为:

2011-12-22 07:00
2011-12-22 07:30
2011-12-22 08:00
2011-12-22 08:30
2011-12-22 09:00
2011-12-22 09:30
2011-12-22 10:00
2011-12-22 10:30
2011-12-22 11:00
2011-12-22 11:30

这是否可能与循环有关?

类似的内容应该可以工作:

$dates = array();
$start = new DateTime($one);
$until = new DateTime($two);

while($start->getTimestamp() <= $until->getTimestamp()) {

   $dates[] = clone $start;
   $start->add(new DateInterval("PT30M"));
}

echo '<pre>';
print_r($dates);
$dates=array();
$start=新日期时间($1);
$until=新日期时间($2);
而($start->getTimestamp()getTimestamp()){
$dates[]=克隆$start;
$start->add(新的日期间隔(“PT30M”);
}
回声';
打印(日期);

类似的方法应该可以:

$dates = array();
$start = new DateTime($one);
$until = new DateTime($two);

while($start->getTimestamp() <= $until->getTimestamp()) {

   $dates[] = clone $start;
   $start->add(new DateInterval("PT30M"));
}

echo '<pre>';
print_r($dates);
$dates=array();
$start=新日期时间($1);
$until=新日期时间($2);
而($start->getTimestamp()getTimestamp()){
$dates[]=克隆$start;
$start->add(新的日期间隔(“PT30M”);
}
回声';
打印(日期);

看看你是怎么做的

<?php
$interval = 1800; // Interval in seconds

$date_first     = "2011-12-22 07:00";
$date_second    = "2011-12-22 11:30";

$time_first     = strtotime($date_first);
$time_second    = strtotime($date_second);

for ($i = $time_first; $i < $time_second; $i += $interval)
    echo date('Y-m-d H:i', $i) . "<br />";
?>

看看你是怎么做的

<?php
$interval = 1800; // Interval in seconds

$date_first     = "2011-12-22 07:00";
$date_second    = "2011-12-22 11:30";

$time_first     = strtotime($date_first);
$time_second    = strtotime($date_second);

for ($i = $time_first; $i < $time_second; $i += $interval)
    echo date('Y-m-d H:i', $i) . "<br />";
?>

你可以这样做:


您可以这样做:



我建议您将其拆分为多行,尤其是
回送日期
行是违反直觉的。我建议您将其拆分为多行,尤其是
回送日期
行是违反直觉的。DateInterval的间隔规范应为“PT30M”,间隔30分钟。P30M为30个月。DateInterval的间隔规范应为“PT30M”,间隔为30分钟。P30M的有效期为30个月。