高效的PHP日期比较

时间:2011-10-06 21:35:48

标签: php micro-optimization

我正在尝试编写一个函数,该函数将尽快返回两个日期之间的天数。这个函数在我的代码中被称为数千次,并且将其优化到最大值将非常有用。日期是yyyy-mm-dd格式的字符串。

这是我迄今为止最好的:

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);
}

如何在尽可能短的时间内执行此操作?

1 个答案:

答案 0 :(得分:1)

mktime()更改为gmmktime()会减少超过50%对我的时间。这是我能看到的最大改进*。

*我看起来不太努力。因此,对于您的脚本,硬件以及个人需求来说,这似乎不适合调整您的功能,特别是因为它只被称为数千次