$date1 = new DateTime("2012-12-15 14:11:42");
$date2 = new DateTime(date('Y-m-d H:i:s'));
$month = $date1->diff(date('Y-m-d H:i:s'));
echo $month->m;
我得到的不是显示差异,而是下面的警告警告:DateTime::d iff(( 期望参数 1 为 DateTime,字符串在第 9 行的 C:''xampp''htdocs''giftcodex''test.php 中给出
注意:尝试在第 10 行的 C:''xampp''htdocs''giftcodex''test.php 中获取非对象的属性
这是错误,而不是给它一个字符串,date('Y-m-d H:i:s')
给它一个DateTime
对象$date2
$month = $date1->diff($date2);
echo $month->format('%m')
在此处查看文档 http://www.php.net/manual/en/datetime.diff.php
你应该从 PHP 手册中看看这个。
date_diff是一个PHP功能,可以在这方面为您提供帮助,如下所示。
$interval = date_diff($datetime1, $datetime2);
echo $interval->format('%m months');
方法->diff()
将作为第一个参数接受日期时间对象,而不是字符串。
改变:
$month = $date1->diff(date('Y-m-d H:i:s'));
自:
$month = $date1->diff($date2);
要获得 2 个日期之间的整月差,您还需要添加年份*12:
$date1 = new DateTime("2012-12-15 14:11:42");
$date2 = new DateTime("now");
$diff = $date1->diff($date2);
$months = $diff->m + $diff->y * 12;