Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 返回两个日期之间的月数_Php_Datetime_Date Math - Fatal编程技术网

Php 返回两个日期之间的月数

Php 返回两个日期之间的月数,php,datetime,date-math,Php,Datetime,Date Math,在你打电话给行刑队之前,我知道这个问题以前有人问过。我看过stackoveflow(和其他地方)上的20个示例,但不理解为什么我的代码不能工作。我只是尝试使用PHP的date_diff()函数来获取两个日期之间的月数。我只是以程序化的方式编写代码 我经常看到的例子是: $startdate = "2013-06-26"; $currentdate = "2014-06-26"; $date1 = date_create($startdate); $date2 = date_create($cu

在你打电话给行刑队之前,我知道这个问题以前有人问过。我看过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个月”,无错误。我正在运行PHP4+。我觉得我已经做出了真诚的努力来理解这个函数,但是我没有得到一些东西。如果有人能解释为什么我的代码不能正常工作,我将不胜感激

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

这会有帮助,因为差别是一整年。DateInterval将报告从0到11个月,然后再滚动到一年。如果您这样做:
echo$interval->format(“%y年”)它将显示1以表示差异。DateInterval报告不能超过11个月。谢谢,这是丢失的链接!