Php 将分钟添加到DateTime,直到它到达时段

Php 将分钟添加到DateTime,直到它到达时段,php,datetime,for-loop,datetime-format,Php,Datetime,For Loop,Datetime Format,大家好,下面是我的代码 for($minutes_to_add=30;$start_date->format('Y-m-d H:i') == $end_date->format('Y-m-d H:i');$minutes_to_add+30) { $start_date->add(new DateInterval('PT' . $minutes_to_add . 'M')); $time_perio

大家好,下面是我的代码

        for($minutes_to_add=30;$start_date->format('Y-m-d H:i') == $end_date->format('Y-m-d H:i');$minutes_to_add+30)
        {
            $start_date->add(new DateInterval('PT' . $minutes_to_add . 'M'));
            $time_period = $start_date->format('Y-m-d H:i');
            echo $time_period;
            echo '<br>';
        }
for($minutes\u to\u add=30;$start\u date->format('Y-m-d H:i')==$end\u date->format('Y-m-d H:i');$minutes\u to\u add+30)
{
$start_date->add(新的日期间隔('PT'.$minutes_to_add.M');
$time\u period=$start\u date->格式('Y-m-d H:i');
echo$时间段;
回声“
”; }

我正在尝试将
30分钟
添加到
$start\u date
,直到到达
end\u date
。。。它没有显示任何内容…没有错误消息…
start\u date
end\u date
都在
newDatetime()中。
有什么方法可以解决这个问题吗??在php中,这将是一个“更干净”的解决方案,注意到$start\u date$end\u date是日期时间对象:

 for($minutes_to_add=30;$start_date->getTimestamp() <= $end_date->getTimestamp();$minutes_to_add+30)
 {
     $start_date->add(new DateInterval('PT' . $minutes_to_add . 'M'));
     $time_period = $start_date->format('Y-m-d H:i');
     echo $time_period;
     echo '<br>';
 }
for($minutes\u to\u add=30;$start\u date->getTimestamp()getTimestamp();$minutes\u to\u add+30)
{
$start_date->add(新的日期间隔('PT'.$minutes_to_add.M');
$time\u period=$start\u date->格式('Y-m-d H:i');
echo$时间段;
回声“
”; }
我想你需要使用@Naruto是的,这就是问题所在。。我会接受你的答案,如果它得到了回答……你不需要格式化DateTime对象,它们可以直接进行比较。如果您必须转换它们,请使用
getTimestamp()
,这样至少您可以使用整数而不是字符串。朋友,为什么要在一个简单的注释中回答您可以修复的问题?但是如果你想投票表决一个答案,@Ixg将时间戳作为整数是正确的。。