我需要算出这样一个日期之间的月数:
PubsubIO
以MM / DD / YYYY格式输入,以及当前日期,例如:
$inputDate = '09/08/2016';
我一直在查看date_diff,但似乎无法在此处获取语法,并感谢此处的任何帮助。
答案 0 :(得分:2)
<击> 撞击>
<击>$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
以便在几个月内获得差异的原因。奇怪,但这就是它的工作原理......