为了找到上周的开始日期和结束日期,您可以按照此代码进行操作。
它适用于所有时间间隔以查找日期间隔。
$Current = Date('N');
$DaysToSunday = 7 - $Current;
$DaysFromMonday = $Current - 1;
$Sunday = Date('d/m/y', strtotime("+ {$DaysToSunday} Days"));
$Monday = Date('d/m/y', strtotime("- {$DaysFromMonday} Days"));
如果是这样,您需要使用datatime() 更改它,您可以执行此功能。
$date = new DateTime();
$weekday = $date->format('w');
$diff = 7 + ($weekday == 0 ? 6 : $weekday - 1); // Monday=0, Sunday=6
$date->modify("-$diff day");
echo $date->format('Y-m-d') . ' - ';
$date->modify('+6 day');
echo $date->format('Y-m-d');
使用函数:
如果你想在函数的帮助下找到上周的范围,你可以像这样执行。
功能:
// returns last week's range
function last_week_range($date) {
$ts = strtotime("$date - 7 days");
$start = (date('w', $ts) == 0) ? $ts : strtotime('last sunday', $ts);
return array(
date('Y-m-d', $start),
date('Y-m-d', strtotime('next saturday', $start))
);
}
用法:
$today=date();
print_r(last_week_range($today));
上面给出的所有函数都将返回上周的范围,与一周的开始日期无关..