我正在从 jquery datepicker 中选择一个日期,并且我想选择该日期之前一周的开始和结束日期。- 例如选择 2013 年 4 月 10 日应返回 2013 年 3 月 31 日和 2013 年 4 月 6 日。星期日是一周的第一天,星期六是最后一天。
下面是我的代码。
$weekday = $d->format('w');
$diff = 7 + ($weekday == 0 ? 6 : $weekday - 0); //to make week start from monday till sunday add 1 to weekday -
$start1 = $d->modify("-$diff day");
$start_date = $d->format('Y-m-d');
$end1 = $d->modify('+6 day');
$stop_date = $d->format('Y-m-d');
代码工作正常,至少大部分情况下。但是,当我选择任何一个星期天时,我会得到一个错误的非预期结果,即前一周的前一周。例如,如果我选择 2013 年 3 月 31 日 - 我应该得到 3 月 24 日和 3 月 30 日,但我得到的是 3 月 28 日和 3 月 24 日。
我哪里错了?