我的服务器托管了多个网站,而且我使用的一些图书馆,升级到php 5.3将非常困难。我打算在不久的将来这样做,但目前不行。
我有两个时间戳,我想计算它们之间有多少个月。 PHP 5.3有datetime.diff函数,但由于我在5.2,我目前无法使用它。
我有哪些替代方案?我知道我可以通过减去时间戳来获取秒数,然后通过假设每个月有30天获得月份,但我需要准确的结果。
非常感谢您的帮助。
答案 0 :(得分: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