PHP获取本周、上周、本月、上月、本季度、上季度等各类具体时间
1.获取本周开始和结束的日期:
echo date("Y-m-d H:i:s", mktime(0,0,0,date("m"),date("d")-date("w")+1,date("Y"))); //2020-03-09 00:00:00
echo date("Y-m-d H:i:s", mktime(23,59,59,date("m"),date("d")-date("w")+7,date("Y"))); //2020-03-15 23:59:59
2.获取上周开始和结束的日期:
echo date('Y-m-d H:i:s', mktime(0,0,0,date('m'),date('d')-date('w')+1-7,date('Y'))); //2020-03-02 00:00:00
echo date('Y-m-d H:i:s', mktime(23,59,59,date('m'),date('d')-date('w')+7-7,date('Y'))); //2020-03-08 23:59:59
3.获取本月开始和结束的日期:
echo date('Y-m-d H:i:s', mktime(0,0,0,date('m'),1,date('Y'))); //2020-03-01 00:00:00
echo date('Y-m-d H:i:s', mktime(23,59,59,date('m'),date('t'),date('Y'))); //2020-03-31 23:59:59
4.获取上月开始和结束的日期:
echo date("Y-m-d H:i:s", mktime(0,0,0,date("m")-1,1,date("Y"))); //2020-02-01 00:00:00
echo date("Y-m-d H:i:s", mktime(23,59,59,date("m") ,0,date("Y"))); //2020-02-29 23:59:59
5.获取本季度开始和结束的日期:
$season = ceil((date('n'))/3);
echo date('Y-m-d H:i:s', mktime(0,0,0,$season*3-3+1,1,date('Y'))); //2020-01-01 00:00:00
echo date('Y-m-d H:i:s', mktime(23,59,59,$season*3,date('t',mktime(0,0,0,$season*3,1,date("Y"))),date('Y'))); //2020-03-31 23:59:59
6.获取上季度开始和结束的日期:
$season = ceil((date('n'))/3)-1;//上季度是第几季度
echo date('Y-m-d H:i:s', mktime(0,0,0,$season*3-3+1,1,date('Y'))); //2019-10-01 00:00:00
echo date('Y-m-d H:i:s', mktime(23,59,59,$season*3,date('t',mktime(0,0,0,$season*3,1,date("Y"))),date('Y')));//2019-12-31 23:59:59
7.获取本月是第几月:
echo date('n'); //3
8.获取今天是周几:
echo date("w"); //4
9.获取本月总天数:
echo date("t"); //31
10.获取上月的年月日期:
echo date('Y-m', strtotime(date('Y-m-01') . "-1 month")); //2020-02
这里之所以没有直接使用 date('Y-m', strtotime("-1 month")) 获取,是因为strtotime有一个小问题,如果当你获取的上个月没有今天的日期,会输出本月的月份,比如今天是3月31号,2月没有31号,那就会输出2020-03,同理下个月(strtotime("+1 month"))也是一样
相关文章
文章评论
-
-
-