【发布时间】:2013-01-31 19:16:18
【问题描述】:
说,我有 2012-03-01 和 2013-02-01 保存在数据库中。在计算两者之间的月数时,我想得到 12 个月而不是确切的天数或确切的月数(例如 11.92 个月) 在php中怎么做?
【问题讨论】:
说,我有 2012-03-01 和 2013-02-01 保存在数据库中。在计算两者之间的月数时,我想得到 12 个月而不是确切的天数或确切的月数(例如 11.92 个月) 在php中怎么做?
【问题讨论】:
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'));
【讨论】:
(($interval->format('%y') * 12) + $interval->format('%m'))
试试这个:
<?php
$d1 = date_create('2013-01-31');
$d2= date_create('2013-05-12');
$interval= date_diff($d1, $d2);
echo $interval->format('%m months');
?>
【讨论】: