我正試圖寫一個函數,它將盡快返回兩個日期之間的天數。這個函數在我的代碼中被調用
成千上萬個
,並且將它優化爲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