本周星期一

// 本周一,w为星期几的数字形式,这里0为周日。
$dt = date('Y-m-d', (time() - ((date('w') == 0 ? 7 : date('w')) - 1) * 24 * 3600));

本周星期天

// 本周日,同样使用w,以现在与周日相关天数算。
$dt = date('Y-m-d', (time() + (7 - (date('w') == 0 ? 7 : date('w'))) * 24 * 3600));

上周星期一

// 上周一,无论今天几号,-1 monday为上一个有效周未。
$dt = date('Y-m-d', strtotime('-1 monday', time()));

上周星期天

// 上周日,上一个有效周日,同样适用于其它星期。
$dt = date('Y-m-d', strtotime('-1 sunday', time()));

本月第一天

// 本月1日,直接以strtotime生成
$dt = date('Y-m-d', strtotime(date('Y-m', time()) . '-01 00:00:00'));

本月最后一天

// 本月最后一天,t为当月天数,28至31天。
$dt = date('Y-m-d', strtotime(date('Y-m', time()) . '-' . date('t', time()) . ' 00:00:00'));

上月第一天

// 上月1日,本月1日上减一个月。
$dt = date('Y-m-d', strtotime('-1 month', strtotime(date('Y-m', time()) . '-01 00:00:00')));

上月最后一天

// 上月最后一天,本月第一天减一天即是上月最后一天。
$dt = date('Y-m-d', strtotime(date('Y-m', time()) . '-01 00:00:00') - 86400);

前端小菜
266 声望8 粉丝

努力可以改变能力