之間我需要的天數爲一週的每一天兩個日期之間,如:得到一週的每一天數兩個日期
2013-01-01 to 2013-01-15
Mo:2
Tu:3
We:2
Th:2
Fr:2
Sa:2
Su:2
我有這個代碼不知道在那裏我才知道了但它似乎工作,但實現了一些日期範圍它不起作用,如2013年3月1日至2013年3月11日星期一報告爲1天而不是2天。
function daysOfWeekBetween($start_date, $end_date, $weekDay)
{
$first_date = strtotime($start_date." -1 days");
$first_date = strtotime(date("M d Y",$first_date)." next ".$weekDay);
$last_date = strtotime($end_date." +1 days");
$last_date = strtotime(date("M d Y",$last_date)." last ".$weekDay);
return floor(($last_date - $first_date)/(7*86400)) + 1;
}
daysOfWeekBetween($date_range['start_date'], $date_range['end_date'], 'Monday');
這只是告訴我一個日期是什麼。沒有數學的方法來解決這個問題,而不需要在兩天之間循環每一天,並且在日期的基礎上找出日期的哪一天? – Danny 2013-03-13 21:37:16
這沒用:使用2013-03-01 - 2013-03-11我得到這個:'Array([0] => 2 [1] => 1 [2] => 1 [3] => 1 [ 4] => 1 [5] => 2 [6] => 2)'當我應該得到數組([0] => 2 [1] => 2 [2] => 1 [3] => 1 [4] => 1 [5] => 2 [6] => 2)'這個日期範圍內的原始腳本就是這樣(星期一關閉)。 – Danny 2013-03-14 00:41:32
這裏期間2013-03-01 - 2013-03-11工作得很好。嘗試將其設置爲您的腳本:'date_default_timezone_set('UTC');' – Havenard 2013-03-14 03:37:44