0

可能重复:
在 php 中查找月份差异?

我的服务器托管多个网站,并且使用我正在使用的一些库,升级到 php 5.3 将非常困难。我计划在不久的将来这样做,但目前还没有。

我有两个时间戳,我想计算它们之间有多少个月。PHP 5.3 有 datetime.diff 功能,但由于我在 5.2 上,我目前不能使用它。

我有什么选择?我知道我可以通过减去时间戳来获取秒数,然后通过假设每个月有 30 天来获得月份,但我需要一个准确的结果。

非常感谢您的帮助。

4

1 回答 1

1

我个人采用这种方法:

$from = explode("-",date("Y-m-d",$fromStamp));
$to = explode("-",date("Y-m-d",$toStamp));
$months = ($to[0]-$from[0])*12+$to[1]-$from[1];
if( $to[1] == $from[1] && $to[2] > $from[2]) $months--; // incomplete month
if( $to[1] == ($from[1]+1)%12 && $to[2] < $from[2]) $months--; // other side
// result in $months
于 2012-05-16T20:17:43.460 回答