$startDate = new DateTime("2016-06-01");
$endDate = new DateTime("2016-06-30");
$diff = date_diff($startDate,$endDate);
$differenceYear = $diff->format("%y");
$differenceMonth = $diff->format("%m");
$difference = $differenceYear*12 + $differenceMonth;
echo $difference;
上面的代码将输出0作为结果。但是,当我将这两个日期更改为2016-12-01和2016-12-31时,代码会给出1作为输出。为什么会发生?PHP日期差误差
当我检查这个代码在网上PHP编辑它给出了正确的答案。但是当我将它复制到本地机器时,答案显示错误。在线编辑器有美国/太平洋地区作为时区。我的电脑有亚洲/加尔各答时区。这两个具有相同的PHP版本
代码输出'1'我。你使用哪个PHP版本? – modsfabio
@modsfabio它关于时区兄弟.. – Xatenev
亲爱的六月份只有30天,你通过2016-06-31,这就是为什么你会得到错误 –