Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何计算两个日期之间的月份,包括起始日期月份?_Php_Laravel - Fatal编程技术网

Php 如何计算两个日期之间的月份,包括起始日期月份?

Php 如何计算两个日期之间的月份,包括起始日期月份?,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。简而言之,我想包括当前的日期月

我试图对此应用直线折旧,我有两个日期开始日期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。简而言之,我想包括当前的日期月份。

您可以使用
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";