<?php
//本周一
//w为星期几的数字形式,这里0为周日
echo date('Y-m-d', (time() - ((date('w') == 0 ? 7 : date('w')) - 1) * 24 * 3600));
//本周日
//同样使用w,以现在与周日相关天数算
echo date('Y-m-d', (time() + (7 - (date('w') == 0 ? 7 : date('w'))) * 24 * 3600));
//上周一
//无论今天几号,-1 monday为上一个有效周未
echo date('Y-m-d', strtotime('-1 monday', time()));
//上周日
echo date('Y-m-d', strtotime('-1 sunday', time()));
//上一个有效周日,同样适用于其它星期
//本月一日
//直接以strtotime生成
echo date('Y-m-d', strtotime(date('Y-m', time()) . '-01 00:00:00'));
//本月最后一日
//t为当月天数,28至31天
echo date('Y-m-d', strtotime(date('Y-m', time()) . '-' . date('t', time()) . ' 00:00:00'));
//上月一日
//本月一日直接strtotime上减一个月
echo date('Y-m-d', strtotime('-1 month', strtotime(date('Y-m', time()) . '-01 00:00:00')));
//上月最后一日
//本月一日减一天即是上月最后一日
echo date('Y-m-d', strtotime(date('Y-m', time()) . '-01 00:00:00') - 86400);