$today = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’),date(‘d’),date(‘Y’)));
$today_end = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’),date(‘d’)+1,date(‘Y’))-1);
echo $today,'<br>’;//今天开始时间
echo $today_end,'<br>’;//今天结束时间
$yesterday_start = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’),date(‘d’)-1,date(‘Y’)));
$yesterday_end = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’),date(‘d’),date(‘Y’))-1);
echo $yesterday_start,'<br>’;//昨天开始时间
echo $yesterday_end,'<br>’;//昨天结束时间
$w = date(‘w’,strtotime($today));
 
$this_mon = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’),date(‘d’)-$w+1,date(‘Y’)));
$this_sun = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’),date(‘d’)+(7-$w),date(‘Y’)));
echo $this_mon,'<br>’;//本周一时间
echo $this_sun,'<br>’;//本周日时间
$last_week_mon = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’),date(‘d’)-$w+1-7,date(‘Y’)));
$last_week_sun = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’),date(‘d’)-$w,date(‘Y’)));
echo $last_week_mon,'<br>’;//上周一
echo $last_week_sun,'<br>’;//上周日
$last_yue_start = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’)-1,str_pad(1,2,0,STR_PAD_LEFT),date(‘Y’)));
$last_month_days = date(‘t’,strtotime(date(‘Y’).’-‘.(date(‘m’)-1).’-‘.str_pad(1,2,0,STR_PAD_LEFT)));
$last_yue_end = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’)-1,$last_month_days,date(‘Y’)));
 
echo $last_yue_start,'<br>’;//上月1号
echo $last_yue_end,'<br>’;//上月末
另外可以
月份
本月起始和结束日期
起始日期:echo date(‘Y-m-01’,strtotime(date(‘Y-m-d’)));
结束日期:echo date(‘Y-m-t’,strtotime(date(‘Y-m-d’)));
上月起始和结束日期
起始日期:echo date(‘Y-m-01’,strtotime(‘-1 month’));
结束日期:echo date(‘Y-m-t’,strtotime(‘-1 month’));
季度
$season = ceil(date(‘n’) /3); //获取月份的季度
本季度起始和结束日期
起始日期:echo date(‘Y-m-01’,mktime(0,0,0,($season – 1) *3 +1,1,date(‘Y’)));
结束日期:echo date(‘Y-m-t’,mktime(0,0,0,$season * 3,1,date(‘Y’)));
上季度起始和结束日期
起始日期:echo date(‘Y-m-01’,mktime(0,0,0,($season – 2) * 3 +1,1,date(‘Y’)));
结束日期:echo date(‘Y-m-t’,mktime(0,0,0,($season – 1) * 3,1,date(‘Y’)));
上季度的支持跨年
年
本年起始和结束日期
起始日期:echo date(‘Y-01-01’);
结束日期:echo date(‘Y-12-31’);
上一年起始和结束日期
起始日期:echo date(‘Y-01-01’,strtotime(‘-1 year’));
结束日期:echo date(‘Y-12-31’,strtotime(‘-1 year’));
代码整理如下
function getTheTime($type=’m’){
$ret=array();
$today = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’),date(‘d’),date(‘Y’)));
switch ($type) {
case ‘d’:
# code
$today = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’),date(‘d’),date(‘Y’)));
$today_end = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’),date(‘d’)+1,date(‘Y’))-1);
$ret[‘start’]=strtotime($today);
$ret[‘end’]=strtotime($today_end);
break;
case ‘w’:
# code…
$w = date(‘w’,strtotime($today));
$this_mon = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’),date(‘d’)-$w+1,date(‘Y’)));
$this_sun = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’),date(‘d’)+(7-$w),date(‘Y’)));
$ret[‘start’]=strtotime($this_mon);
$ret[‘end’]=strtotime($this_sun);
break;
case ‘m’:
# code…
$last_yue_start = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’),str_pad(1,2,0,STR_PAD_LEFT),date(‘Y’)));
$last_month_days = date(‘t’,strtotime(date(‘Y’).’-‘.(date(‘m’)).’-‘.str_pad(1,2,0,STR_PAD_LEFT)));
$last_yue_end = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’),$last_month_days,date(‘Y’)));
$ret[‘start’]=strtotime($last_yue_start);
$ret[‘end’]=strtotime($last_yue_end);
break;
case ‘s’:
# code…
$season = ceil(date(‘n’) /3); //获取月份的季度
$ret[‘start’]=strtotime(date(‘Y-m-01’,mktime(0,0,0,($season – 1) *3 +1,1,date(‘Y’))));
$ret[‘end’]=strtotime(date(‘Y-m-t’,mktime(0,0,0,$season * 3,1,date(‘Y’))));
break;
case ‘y’:
# code…
$ret[‘start’]=strtotime(date(‘Y-01-01’));
$ret[‘end’]=strtotime(date(‘Y-12-31’));
break;
default:
$last_yue_start = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’),str_pad(1,2,0,STR_PAD_LEFT),date(‘Y’)));
$last_month_days = date(‘t’,strtotime(date(‘Y’).’-‘.(date(‘m’)).’-‘.str_pad(1,2,0,STR_PAD_LEFT)));
$last_yue_end = date(‘Y-m-d H:i:s’,mktime(0,0,0,date(‘m’),$last_month_days,date(‘Y’)));
$ret[‘start’]=strtotime($last_yue_start);
$ret[‘end’]=strtotime($last_yue_end);
break;
}
return $ret;
}
(文章今日已有 1 人访问,总访问量 6 ::>_<::)