php获取上周、本周、上月、本月的起止日期
//mktime(时,分,秒,月,日,年)
//date(format,timestamp),其中format常用有如下选项:
Y – 年份的四位数表示
m – 月份的数字表示(从 01 到 12)
d – 一个月中的第几天(从 01 到 31)
H – 24 小时制,带前导零(00 到 23)
i – 分,带前导零(00 到 59)
s – 秒,带前导零(00 到 59)
w – 星期几的数字表示,0~6(0 表示 Sunday[星期日],6 表示 Saturday[星期六])
t – 给定月份中包含的天数,28~31
z – 一年中的第几天; 如: 0~365
其它详见:http://www.w3school.com.cn/php/func_date_date.asp
//举例:获取某个具体时间的天数
$t=date(‘t’,strtotime(‘2018-04-04’)); 或者 $t=date(‘t’,strtotime(‘20180404’));
echo date(“Y-m-d”);//今天
echo date(“Y-m-d”,strtotime(“-1 day”));//昨天
echo date(“Y-m-d”,strtotime(“+1 day”));//明天
echo date(“Y-m-d”,strtotime(“+3 week”));//3周后
echo date(“Y-m-d H:i:s”,strtotime(“+1 week 3 days 5 hours 2 seconds”));//一周零三天五小时两秒后
echo date(“Y-m-d”,strtotime(“next Thursday”));//下周四
echo date(“Y-m-d”,strtotime(“last Monday”));//上周一
echo date(“Y-m-d”,strtotime(“last month”));//一个月前
echo date(“Y-m-d”,strtotime(“+1 month”));//一个月后
echo date(“Y-m-d”,strtotime(“+10 year”));//十年后
//获取本周起始时间戳和结束时间戳
$curr = date(“Y-m-d”);
$w=date(‘w’);//获取当前周的第几天 周日是 0 周一到周六是1-6
$beginLastweek=strtotime(“$curr -“.($w ? $w-1 : 6).’ days’);//获取本周开始日期,如果$w是0是周日:-6天;其它:-1天
$s=date(‘Y-m-d 00:00:00’,$beginLastweek);
$e=date(‘Y-m-d 23:59:59’,strtotime(“$s +6 days”));
echo $s;
echo $e;
//获取本月起始时间戳和结束时间戳
$beginThismonth=mktime(0,0,0,date(‘m’),1,date(‘Y’));
$endThismonth=mktime(23,59,59,date(‘m’),date(‘t’),date(‘Y’));
=========================================================
//获取上周起始时间戳和结束时间戳
$curr = date(“Y-m-d”);
$w=date(‘w’);//获取当前周的第几天 周日是 0 周一到周六是1-6
$beginLastweek=strtotime(‘$curr -‘.($w ? $w-1 : 6).’ days’);//获取本周开始日期,如果$w是0是周日:-6天;其它:$w-1天
$cur_monday=date(‘Y-m-d 00:00:00’,$beginLastweek);
$s=date(‘Y-m-d 23:59:59’,strtotime(“$cur_monday -7 days”));
$e=date(‘Y-m-d 23:59:59’,strtotime(“$s +6 days”));
echo $s;
echo $e;
//获取上月起始时间戳和结束时间戳
// 法1:
mktime(0, 0 , 0,date(“m”)-1,1,date(“Y”))
mktime(23,59,59,date(“m”) ,0,date(“Y”))
// 法2:
$m=date(‘Y-m-d’, mktime(0,0,0,date(‘m’)-1,1,date(‘Y’))); //上个月的开始日期
$t=date(‘t’,strtotime($m)); //上个月共多少天
$beginLastmonth=mktime(0,0,0,date(‘m’)-1,1,date(‘Y’));
$endLastmonth=mktime(23,59,59,date(‘m’)-1,$t,date(‘Y’));
调用
$s=date(‘Y-m-d’,$beginLastmonth);
$e=date(‘Y-m-d’,$endLastmonth);
echo $s; echo $e;