如何使用PHP

时间:2017-08-08 11:16:26

标签: php date datetime

我有date_startdate_end字符串,我想在两个日期之间每天进行迭代。

如下所示

$dateStart = "2017-07-18";
$dateEnd = "2017-08-08";
$datesInBewteen = getDatesInBetween($dateStart, $dateEnd);
foreach ($datesInBetween as $date) {
    // do stuff
}

getDatesInBetween函数应如何显示?

3 个答案:

答案 0 :(得分:2)

以下是适合您的工作代码:https://eval.in/842849

您应该使用{em>开始日期,日期间隔结束日期作为参数的DatePeriod

您将获得结果对象,您可以循环访问以获得两个日期之间的所需日期:

<?php
$begin = new DateTime('2017-07-18');
$end = new DateTime('2017-08-08');

$daterange = new DatePeriod($begin, new DateInterval('P1D'), $end);

foreach($daterange as $date){
    echo $date->format("Y-m-d") . "\n";
}

?>

答案 1 :(得分:1)

您可以使用while循环在两个日期之间进行迭代。

$dateStart = "2017-07-18";
$dateEnd = "2017-08-08";
$current_date = $dateStart;
while(strtotime($current_date) < strtotime($dateEnd))
{
  echo $current_date."<br>";
  $current_date= date("Y-m-d",strtotime("+1 day",strtotime($current_date)));
}

答案 2 :(得分:0)

尝试以下代码,running Example

<?php

    // Start date
    $date = '2017-07-18';
    // End date
    $end_date = '2017-08-08';

    while (strtotime($date) <= strtotime($end_date)) { // Compare start date is less than end date
             echo      "$date\n";
              $date = date ("Y-m-d", strtotime("+1 day", strtotime($date))); // increment date by 1 day
    }

?>

在while循环的帮助下,您可以每天检查每天增加内部