Php 如何计算两个日期之间的月份,包括起始日期月份?
我试图对此应用直线折旧,我有两个日期开始日期2018-09-17(YYYY-MM-DD)结束日期2018-12-30。我需要4个月的答案,而不是3个月,因为它给了我3个月 我试过从2018-09-01开始,到2019-01-01结束。它给了我正确的答案 它给了我答案4 我需要这两个日期的答案4 2018-17-09至2018-30-12Php 如何计算两个日期之间的月份,包括起始日期月份?,php,laravel,Php,Laravel,我试图对此应用直线折旧,我有两个日期开始日期2018-09-17(YYYY-MM-DD)结束日期2018-12-30。我需要4个月的答案,而不是3个月,因为它给了我3个月 我试过从2018-09-01开始,到2019-01-01结束。它给了我正确的答案 它给了我答案4 我需要这两个日期的答案4 2018-17-09至2018-30-12 有没有办法在包括开始日期在内的4个月内得到答案。我从这些日期(2018-09-01)到(2019-01-01)得到了答案4。简而言之,我想包括当前的日期月
有没有办法在包括开始日期在内的4个月内得到答案。我从这些日期(2018-09-01)到(2019-01-01)得到了答案4。简而言之,我想包括当前的日期月份。您可以使用
Carbon
:
use\Carbon\Carbon;
$from=碳::createFromFormat('Y-d-m','2018-17-09');
$to=碳::createFromFormat('Y-d-m','2018-30-12')->addMonth();
返回$to->diffInMonths($from);
您可以使用
碳
:
use\Carbon\Carbon;
$from=碳::createFromFormat('Y-d-m','2018-17-09');
$to=碳::createFromFormat('Y-d-m','2018-30-12')->addMonth();
返回$to->diffInMonths($from);
您可以轻松地使用该方法并向其传递“n”
,这将以数值形式获取月份,然后您可以定义逻辑
例如:
$date1=(新日期时间(“2018-09-17”)->格式(“n”);
$date2=(新日期时间(“2018-12-30”)->格式(“n”);
echo$date2-$date1+1;
您可以轻松地使用该方法并将“n”
传递给它。这将以数值形式获取月份,然后您可以定义逻辑
例如:
$date1=(新日期时间(“2018-09-17”)->格式(“n”);
$date2=(新日期时间(“2018-12-30”)->格式(“n”);
echo$date2-$date1+1;
您添加了月份,但这让我很困惑您添加了月份,但这让我很困惑
$d1 = new DateTime("2018-09-01");
$d2 = new DateTime("2019-01-01");
echo $d1->diff($d2)->m . " Months";