我需要帮助来创建一个函数来根据这两个参数确定周数:
例如,如果我将2010年4月7日指定为开始日期&通过2010年4月20日作为查询日期,我希望函数返回WEEK 2.另一个例子,如果我将2010年3月6日设置为开始日期并查看2010年4月5日那么它应该返回WEEK 6。
感谢您的时间和帮助。
=================
例如:
开始日期:3/6 - 周1 查询日期:4/5
第2周从3月7日至13日开始。 第3周(3 / 14-3 / 20)。 第4周(3 / 21-3 / 27)。第5周(3 / 28-4 / 3)。 所以4/5属于第6周。
一个想法是使用开始日期的星期日作为新*开始日期。因此,该函数不会查找3/6,而是使用2/28作为开始日期。
答案 0 :(得分:1)
您可以找到两个日期之间的天数,将该数字除以7
并获取结果的ceil
:
$start_date = strtotime("2010-04-07");
$specified_date = strtotime("2010-04-20");
$num_of_days = ($specified_date - $start_date)/(60*60*24);
$week_num = ceil($num_of_days/7);
echo $week_num; // prints 2.
答案 1 :(得分:1)
怎么样?
答案 2 :(得分:0)
由于我不知道你将如何收到你的日期,我会做类似的事情:
$starting = mktime(parsedStartingDate);
$lookup = mktime(parsedLookupDate);
$result = $lookup - $starting;
$result = (((($result / 60) / 60) / 24) / 7);
return $result;
答案 3 :(得分:0)
由于你不是很清楚,这可能是也可能不是你想要的:
// Example 1 (returns 2)
date('W', strtotime('April 20, 2010')) - date('W', strtotime('April 7, 2010'));
// Example 2 (returns 5)
date('W', strtotime('April 5, 2010')) - date('W', strtotime('March 6, 2010'));
答案 4 :(得分:0)
想出来。
$start_date = strtotime("2010-03-06"); // returns 1267862400
$start_date_week = strtotime("last sunday",$start_date); // 02-28
$specified_date = strtotime("2010-04-10"); // returns 1270882800
$specified_date_week = strtotime("next sunday",$specified_date); // 4-11 looking up the Next Sunday was also the key!
$num_of_days = ($specified_date_week - $start_date_week)/(60*60*24); // 41.958
$week_num = ceil($num_of_days/7); //6
echo $week_num;