繁体   English   中英

php从现在开始每两年每年两次获取日期

[英]php get date from now every 1 year between two dates

我正在尝试获取每1年的日期或两个日期之间的任何可变间隔。 我的约会示例如下。 它似乎永远可以运行,我无法使其正常运行,并且最后没有输出任何内容。

$currentDate = '2014-04-15';
$endDate = '2018-04-15';
$reminder = '+1 year';

 $dateArray = array();

    while($currentDate <= $endDate){
        $currentDate = date('Y-m-d', strtotime($reminder, strtotime($currentDate)));
    array_push($dateArray, $currentDate);
    }
    print_r($dateArray);

请更换

$dateArray = array_push($dateArray, $currentDate);

array_push($dateArray, $currentDate);

由于array_push返回布尔值,下次调用此函数,因此它将尝试以int / boolean类型存储字符串并导致错误。

您可以使用DateInterval类和DateTime :: Add()方法:

    $begin_date = DateTime::createFromFormat('Y-m-d', '2014-04-15');
    $end_date = DateTime::createFromFormat('Y-m-d', '2018-04-15');

    $res_array = array();

    while ($begin_date < $end_date)
    {
        $begin_date->Add(DateInterval::createFromDateString('1 year'));
        $res_array[] = clone($begin_date);
    }
    echo ("<pre>"); print_r($res_array); echo ("</pre>");

多数民众赞成在面向对象的风格。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM