上面的答案适用于较早版本的PHP。既然PHP5.3已经成为常态,那么使用datetime类可以进行任何日期计算。例如。$start_date = new DateTime('2007-09-01 04:10:58');$since_start = $start_date->diff(new DateTime('2012-09-11 10:25:00'));echo $since_start->days
.' days total
';echo $since_start->y.' years
';echo $since_start->m.' months
';echo $since_start->d.' days
';echo $since_start->h.
' hours
';echo $since_start->i.' minutes
';echo $since_start->s.' seconds
';
$From_start是一个DateInterval对象。注意,Days属性是可用的(因为我们使用了datetime类的diff方法来生成DateInterval对象)。
上述代码将输出:
1837天共计
5年
0个月
10天
6小时
14分钟
2秒
要获得总分钟数:$minutes = $since_start->days * 24 * 60;$minutes += $since_start->h * 60;$minutes += $since_start->i;echo $minutes.' minutes';
这将产生以下结果:
2645654分钟
这是两个日期之间的实际分钟数。datetime类将考虑夏时制(取决于时区),而“旧方式”则不会这样做。阅读有关日期和时间的手册http:/www.php.net/手册/en/book.datetime.php