之间我需要的天数为一周的每一天两个日期之间,如:得到一周的每一天数两个日期
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