PHP:两个日期之间的日期列表 [英] PHP: List of days between two dates
本文介绍了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屋!
查看全文