PHP:需要根据日历结束日期查找两个日期之间的所有日期

时间:2016-03-14 07:06:26

标签: php

我需要php解决方案。我将指定两个日期,并需要按日历结束日期获取所有日期。

例如:

开始日期:2016年3月14日 截止日期:2016年5月27日。

要创建发票,我需要根据日历结束日期查找所有日期。 在这里您可以看到2016年5月27日将不会获得5月的最后日历日期,因为指定的结束日期是5月27日。因此,对于那个月,我应该获得27个月的最后日期。

简而言之,输出应该如此 31月-2016 30-APR-2016 27日 - 5-2016。

你能帮我解决一下如何在PHP中做到这一点吗?

2 个答案:

答案 0 :(得分:1)

t返回月中的天数

$date = "2009-11-23";
echo date("Y-m-t", strtotime($date));

答案 1 :(得分:1)

您需要以不同的方式使用date()函数来获得结果。请查看以下代码,这可能对您有所帮助,

$fromDate = '14-Mar-2016';
$toDate = '27-Jun-2016';
echo date("t-M-Y", strtotime($fromDate)).' '; // show first month last date
$month_diff = (int)abs((strtotime($toDate) - strtotime($fromDate))/(60*60*24*30));
for($i=1;$i<$month_diff;$i++)
{
    echo date('t-M-Y', strtotime("+$i month", strtotime($fromDate))).' '; // in between month end
}
if(date("t",strtotime($toDate)) == date("d",strtotime($toDate)))
{
    echo date("t-M-Y", strtotime($toDate)).' '; // last month end
}
else
{
    echo date("d-M-Y", strtotime($toDate)).' '; // last date
}