我正试图写一个函数,它将尽快返回两个日期之间的天数。这个函数在我的代码中被调用
成千上万个
,并且将它优化为max会非常有帮助。日期是格式为yyyy-mm-dd
的字符串。有效的PHP日期比较
这里是最好的我到目前为止:
protected function daysBetween($date1, $date2)
{
list($year1,$month1,$day1) = explode('-',$date1);
list($year2,$month2,$day2) = explode('-',$date2);
return (int)abs((mktime(0,0,0,$month1,$day1,$year1) -
mktime(0,0,0,$month2,$day2,$year2))/86400);
}
我怎样才能让这个执行在尽可能短的时间最短?
但它是重复的吗?另一个问题与迄今为止的日期时间进行比较,而不关心效率。这个只关心效率,因为作者显然已经有了解决日期增量的解决方案。无论如何lyoshenka,我想不出一个更好的方法。 mktime几乎肯定比strtotime快,而且不使用mktime的解决方案也可能会更慢。我想你明白了。 – Kasapo
@AurelioDeRosa这个问题是不同的。你链接到的人只是想知道如何去做,但是这个人想知道如何以最快的方式做到这一点。 – Bojangles
你看过http://www.php.net/manual/en/datetime.diff.php吗?人们会希望这会更有效率...... – Aerik