【问题标题】:How to get dates between given dates in php 5? [duplicate]如何在php 5中获取给定日期之间的日期? [复制]
【发布时间】:2013-10-15 13:04:29
【问题描述】:

谁能给我一个解决方案,在不使用DATEINTERVAL php 函数的情况下查找给定日期之间的日期?

到目前为止我已经尝试过:

$event_start_on='2013-09-01 01:06:00';
$event_expire_on='2013-10-01 01:06:00';
    $getdates=array();
                        $d=0;
                        if($rs->report_cycle=="Weekly"){
                            $takeinterval=new DateInterval('P7D');
                        }
                        else if($rs->report_cycle=="Biweekly"){
                            $takeinterval=new DateInterval('P15D');
                        }
                        else if($rs->report_cycle=="Monthly")
                        {
                            $takeinterval=new DateInterval('P30D');
                        }
                        else{
                            $takeinterval=new DateInterval('P1D');
                        }

                        $period=new DatePeriod($event_start_on,$takeinterval,$event_expire_on);
                        foreach($period as $dt){
                        $getdates[$d]=$dt->format("Y-m-d H:i:s");
                        $d++;
                        }

【问题讨论】:

  • 你努力了吗?
  • 我实际上有一个整洁干净的解决方案,但我觉得发布它不合适,因为您自己没有努力解决这个问题。
  • 为什么规定不使用DateInterval?你能解释一下你的问题是什么吗?
  • 既然你已经标记了 PHP5.4,为什么不能使用 DateInterval?
  • @JohnConde 。我更新了我的问题。请查看并向我提供任何其他选择。

标签: php date php-5.4


【解决方案1】:

这是一个不使用DateInterval的解决方案

switch ($rs->report_cycle){
    case "Weekly": 
        $period = '+1 week'; break;
    case "Biweekly":
        $period = '+15 days'; break;
    case "Monthly":
        $period = '+1 month'; break;
    default: 
        $period = '+1 day';
}
$start = new DateTime('2013-09-01');
$end   = new DateTime('2013-10-01');
while ($start < = $end)
{
    echo $start->format("m/d/Y") . PHP_EOL;
    $start->modify($period);
}

【讨论】:

  • 我需要两个日期间隔之间的每周、双周、每月日期。
  • 尽管这很容易编辑自己,但我已经为您进行了更改。希望这篇文章对您有教育意义。
猜你喜欢
  • 1970-01-01
  • 2017-05-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多