PHP计算一个会计年度的假期数的方法

PHP计算一个会计年度的假期数的方法,php,Php,假设变量中有三个日期,比如 样本1 $datehire = "2013-01-06"; $dateaniv = "2014-01-06"; $companyFiscalYr = "2014-06-01"; 我需要得到$dateAniv之后的月数。 如果我从$dateAniv算起直到$companyFiscalYr,我应该有6次假期 样本2 $datehire = "2012-11-01"; $dateaniv = "2013-11-01"; $companyFiscalYr = "2014-0

假设变量中有三个日期,比如

样本1

$datehire = "2013-01-06";
$dateaniv = "2014-01-06";
$companyFiscalYr = "2014-06-01";
我需要得到$dateAniv之后的月数。 如果我从$dateAniv算起直到$companyFiscalYr,我应该有6次假期

样本2

$datehire = "2012-11-01";
$dateaniv = "2013-11-01";
$companyFiscalYr = "2014-06-01";

I should get 8 leaves

非常感谢

我还没有从上面的评论中回答您如何定义“一个月”,但这将给您一个开始:

<?php
$datetime1 = new DateTime('2009-10-11');
$datetime2 = new DateTime('2009-10-13');
$interval = $datetime1->diff($datetime2);
echo $interval->format('%R%m months');
?>
谢谢

我想这个可以

    $date1 = new DateTime("2013-08-06");
    $date2 = new DateTime("2014-08-06");                            
    $FiscalYear = new DateTime("2015-06-06");
    $intervalFY = date_diff($date2, $FiscalYear);

    echo $intervalFY ->m + ($intervalFY ->y * 12) + 1 . ' months';
试试这个:

<?php
$datehire = "2013-01-06";
$dateaniv = "2014-01-06";
$companyFiscalYr = "2014-06-01";

$datetime1 = date_create($dateaniv);
$datetime2 = date_create($companyFiscalYr);
$interval = date_diff($datetime1, $datetime2);
$leave = $interval->format('%m');
echo "Leaves:".$leave;
?>


一个月的任何部分都算是一个完整的月份吗?如果你从1月31日到3月1日,那是2个月还是3个月?我对假期的数量有点困惑。在
2014-01-06
2015-06-01
之间有1年4个月26天(样本1)。告诉我该从哪里弄到6片叶子Petter Bowers。。应该是它的3个幻灯抱歉打错了。应为$companyFiscalYr=“2014-06-01”;
<?php
$datehire = "2013-01-06";
$dateaniv = "2014-01-06";
$companyFiscalYr = "2014-06-01";

$datetime1 = date_create($dateaniv);
$datetime2 = date_create($companyFiscalYr);
$interval = date_diff($datetime1, $datetime2);
$leave = $interval->format('%m');
echo "Leaves:".$leave;
?>