我正在为此应用直线折旧方法,我有两个日期开始日期2018-09-17(YYYY-MM-DD)结束日期2018-12-30。我需要在几个月内回答4而不是3,因为它给了我3。
我尝试了开始日期2018-09-01和结束日期2019-01-01。它给了我正确答案4我想要什么。
$d1 = new DateTime("2018-09-01");
$d2 = new DateTime("2019-01-01");
echo $d1->diff($d2)->m . " Months";
2018-17-09至2018-30-12
有没有办法在几个月内(包括开始日期)获得答案4。从这些日期(2018-09-01)到(2019-01-01),我得到的答案4。简而言之,我想包括当前日期月份。
答案 0 :(得分:1)
答案 1 :(得分:1)
您可以轻松地使用format方法并将"n"
传递给它,这将获得月份作为数字值,然后您可以定义逻辑。
一个例子:
$date1 = (new Datetime("2018-09-17"))->format("n");
$date2 = (new Datetime("2018-12-30"))->format("n");
echo $date2 - $date1 + 1;