PHP:两个日期之间的日期列表 [英] PHP: List of days between two dates

查看:111
本文介绍了PHP:两个日期之间的日期列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



有没有一个简单的方法可以在PHP中获得两个日期之间的日期列表? >

(伪代码)

  date1 = 29/08/2013 
date2 = 03/09/2013

resultArray = functionReturnDates(date1,date2);

,结果数组将包含:

  resultArray [0] = 29/08/2013 
resultArray [1] = 30/08/2013
resultArray [2] = 31/08/2013
resultArray [3] = 01/09/2013
resultArray [4] = 02/09/2013
resultArray [5] = 03/09/2013

解决方案

  $ date1 = '29 / 08/2013'; 
$ date2 = '03 / 09/2013';

函数returnDates($ fromdate,$ todate){
$ fromdate = \DateTime :: createFromFormat('d / m / Y',$ fromdate);
$ todate = \DateTime :: createFromFormat('d / m / Y',$ todate);
返回新的\DatePeriod(
$ fromdate,
new \DateInterval('P1D'),
$ todate-> modify('+ 1 day')
);
}

$ datePeriod = returnDates($ date1,$ date2);
foreach($ datePeriod as $ date){
echo $ date-> format('d / m / Y'),PHP_EOL;
}


Is there an easy way to get a list of days between two dates in PHP?

I would like to have something like this in the end:

(pseudocode)

date1 = 29/08/2013
date2 = 03/09/2013

resultArray = functionReturnDates(date1, date2);

and the resulting array would contain:

resultArray[0] = 29/08/2013
resultArray[1] = 30/08/2013
resultArray[2] = 31/08/2013
resultArray[3] = 01/09/2013
resultArray[4] = 02/09/2013
resultArray[5] = 03/09/2013

for example.

解决方案

$date1 = '29/08/2013';
$date2 = '03/09/2013';

function returnDates($fromdate, $todate) {
    $fromdate = \DateTime::createFromFormat('d/m/Y', $fromdate);
    $todate = \DateTime::createFromFormat('d/m/Y', $todate);
    return new \DatePeriod(
        $fromdate,
        new \DateInterval('P1D'),
        $todate->modify('+1 day')
    );
}

$datePeriod = returnDates($date1, $date2);
foreach($datePeriod as $date) {
    echo $date->format('d/m/Y'), PHP_EOL;
}

这篇关于PHP:两个日期之间的日期列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆