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

标签 php date

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

$inputDate = '09/08/2016';

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

$today = date("m/d/Y");

我一直在查看date_diff但似乎无法在这里获得语法并感谢这里的任何帮助。

最佳答案

您可以使用 DateTime diff

<罢工>

<罢工>
$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为了得到几个月的差异。奇怪,但这就是它的工作原理......

关于PHP - 计算日期和当前日期之间的月数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44036591/

相关文章:

javascript - Chrome/Firefox 中的 Ruby 时间转 JavaScript 日期

java - 将 sql 日期转换为 Joda 日期时间

java - 如何将 "Nov 17, 2016 7:26:57 PM"形式的日期字符串解析为日期?

PHP 限制 session var sql 错误

php - PDO 是否处理 sql 函数?

javascript - Angularjs Typeahead 不显示下拉菜单

PHP 日期不包括周末

linux - 在 linux bash 脚本中的 awk 中执行日期实用程序

php - 如何防止PHP中的SQL注入(inject)?

php - 如何在 Symfony 1.4 中运行任务时使用更少的内存?