自特殊日期起的月份(十进制)

时间:2009-10-02 14:40:57

标签: php date

我希望有一个函数可以显示自特殊日期以来已经过了多少个月 - 如果可能的话还会带小数。
任何人都知道如何制作它? (在PHP中)

我最终做了以下事情:
$var = ((mktime(0,0,0,8,3,2009) - mktime(0,0,0,9,3,2009))/86400/30.4368499);
你的答案很有帮助。詹姆斯古德温斯是带领我的人,所以他得到了“答案解决”的标记。

2 个答案:

答案 0 :(得分:1)

function dateDiff($dformat, $endDate, $beginDate)
{
$date_parts1=explode($dformat, $beginDate);
$date_parts2=explode($dformat, $endDate);
$start_date=gregoriantojd($date_parts1[0], $date_parts1[1], $date_parts1[2]);
$end_date=gregoriantojd($date_parts2[0], $date_parts2[1], $date_parts2[2]);
return $end_date - $start_date;
}

答案 1 :(得分:1)

试试这个:

echo NumberOfMonths(strtotime('2009-10-02'),strtotime('2008-12-02'));

function NumberOfMonths($date1, $date2) {
    $dates = array(explode(' ',date('Y n',$date1)),explode(' ',date('Y n',$date2)));
    return ($dates[0][0]-$dates[1][0])*12+($dates[0][1]-$dates[1][1]);
}

虽然当然没有对它进行验证。