【问题标题】:how to calculate number of months between two datetime in PHP [duplicate]如何计算PHP中两个日期时间之间的月数[重复]
【发布时间】:2013-01-31 19:16:18
【问题描述】:

可能重复:
Find Month difference in php?

说,我有 2012-03-01 和 2013-02-01 保存在数据库中。在计算两者之间的月数时,我想得到 12 个月而不是确切的天数或确切的月数(例如 11.92 个月) 在php中怎么做?

【问题讨论】:

    标签: php date datetime


    【解决方案1】:

    DateTime 让这一切变得简单(需要 PHP 5.3 或更高版本)

    $datetime1 = new DateTime('2012-03-01');
    $datetime2 = new DateTime('2013-02-01');
    $interval = $datetime2->diff($datetime1);
    echo (($interval->format('%y') * 12) + $interval->format('%m'));
    

    【讨论】:

    • 看起来像this 答案。也许 OP 应该使用搜索?
    • 这是错误的。这忽略了年份。你必须做(($interval->format('%y') * 12) + $interval->format('%m'))
    【解决方案2】:

    试试这个:

    <?php
    $d1 = date_create('2013-01-31');
    $d2= date_create('2013-05-12');
    $interval= date_diff($d1, $d2);
    echo $interval->format('%m months');
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多