返回两个日期之间的月数

时间:2014-06-26 20:06:23

标签: php datetime date-math

在你打电话给行刑队之前,我意识到之前已经问过这个问题。我已经看过了stackoveflow(以及其他地方)的20个例子,我不明白为什么我的代码不起作用。我只是尝试使用PHP的date_diff()函数来获取两个日期之间的月数。我只是在程序风格上编码。

我经常看到的例子:

$startdate = "2013-06-26";
$currentdate = "2014-06-26";

$date1 = date_create($startdate);
$date2 = date_create($currentdate);
$interval = date_diff($date2, $date1);

echo $interval->format("%M months");

除了我,这似乎是普通类型的答案,程序明智,并为每个人工作。返回“00 Months”,没有错误。我正在运行PHP 4+。我觉得我已经真诚地努力去理解这个功能,而且我有一些东西是我没有得到的。如果有人能说明我的代码无法正常工作的原因,我将不胜感激。

1 个答案:

答案 0 :(得分:1)

$date1 = new DateTime("2013-06-26");
$date2 = new DateTime("2014-06-26");
$interval = date_diff($date1, $date2);
echo $interval->m + ($interval->y * 12) . ' months';

这会有所帮助