PHP - 如果开始结束日期在周中,则获取周的第一个日期

时间:2015-07-21 11:32:14

标签: php date

$month_year = 'JUL-2015';
$cal = $Calendar->getweek(date("m", strtotime($month_year)), date("Y", strtotime($month_year)));
$call_arr = array();
    foreach ($cal['start_day'] as $cal_key => $cal_no) {
        $call_arr[] = $cal_no . " - " . $cal['end_day'][$cal_key];
    }

以上输出JUL-2015月份的周范围,如下所示

Array
(
    [0] => 1 - 5
    [1] => 6 - 12
    [2] => 13 - 19
    [3] => 20 - 26
    [4] => 27 - 31
)

JUL-2015的第一周从星期三开始。当用户从日历

中选择Start-End日期时,如何实现以下操作
  1. 检查第一周的开始日期(1-Jul)和结束日期(5-Jul) 7月是周中,不是从周一开始
  2. 如果任何一周的开始/结束日期从周中开始,即不是从周中开始 Monday,如何获取该周的开始日期?在我们的例子中 将是(29-JUN)
  3. 对于JUL-2015(27 - 31)的上周,开始日期为 该特定周的27-JUL和结束日期为2-AUG

1 个答案:

答案 0 :(得分:1)

$day = '2015-05-04';
$weekDay = date('w', strtotime($day));

$weekStart = date('Y-m-d',strtotime($day . ' -'.$weekDay. ' days'));
$weekEnd = date('Y-m-d',strtotime($day .' +'.(6-$weekDay). ' days'));

echo $weekStart . ' + ' . $weekEnd;
相关问题