PHP - 计算日期和当前日期之间的月数

时间:2017-05-18 00:07:15

标签: php date

我需要算出这样一个日期之间的月数:

PubsubIO

以MM / DD / YYYY格式输入,以及当前日期,例如:

$inputDate = '09/08/2016';

我一直在查看date_diff,但似乎无法在此处获取语法,并感谢此处的任何帮助。

1 个答案:

答案 0 :(得分:2)

您可以使用DateTimediff

<击>

<击>
$datetime1 = new DateTime();
$datetime2 = new DateTime('09/08/2016');
$interval = $datetime1->diff($datetime2);
$months = $interval->format('%m months'); # you can also use %a days %h hours %i minutes %s seconds
echo $months;
# 8 months
# optimally you can use:  
# echo $datetime1->diff($datetime2)->y*12;
# or 
# echo $interval->m

<击>

基于评论更新:

$datetime1 = new DateTime();
$datetime2 = new DateTime('09/08/2015');
$interval = $datetime1->diff($datetime2);
echo  (($interval->format('%y') * 12) + $interval->format('%m')) . " full months difference";

注意:

DateInterval Object看起来像:

DateInterval Object
(
    [y] => 3
    [m] => 5
    [d] => 15
    [h] => 0
    [i] => 0
    [s] => 0
    [invert] => 0
    [days] => 1264
)

这就是我们为什么要增加years * 12的数量并添加months以便在几个月内获得差异的原因。奇怪,但这就是它的工作原理......