PHP函数实现获取月、周、日的开始时间戳和结束时间戳
PHP函数实现获取月、周、日的开始时间戳和结束时间戳函数源码:/*
$type: 需要获取的时间戳类型:M为月 W为周 D为天。
$value: 需要的值。+ 或者 - 数值。
$time:返回为包含开始时间和结束时间的数组。
*/
function ReturnUtime($type='',$value=''){
$type=strtoupper($type);
switch ($type) {
case 'M':
$t = strtotime((date('Y-m',time()) . '-01 00:00:01')); // 20151031修复strtotime按30天计算的BUG
$time[] = strtotime(date("Y-m-01 00:00:00", strtotime("{$value} month",$t)));//月开始时间
$time[] = strtotime(date("Y-m-t 23:59:59", strtotime("{$value} month",$t)));//月结束时间
break;
case 'W':
$time[] = mktime(0,0,0,date('m'),date('d')-date('w')+1+($value),date('Y'));//周开始时间
$time[] = mktime(23,59,59,date('m'),date('d')-date('w')+7+($value),date('Y'));//周结束时间
break;
case 'D':
$time[] = mktime(0,0,0,date('m'),date('d')+($value),date('Y'));//天开始时间
$time[] = mktime(23,59,59,date('m'),date('d')+($value),date('Y'));//天结束时间
break;
default:
$time[] = mktime(0,0,0,date('m'),date('d'),date('Y'));//默认为当天
$time[] = mktime(23,59,59,date('m'),date('d'),date('Y'));//默认为当天
break;
}
return $time;
}
使用方法://部分例子:
echo date("Y-m-d H:i:s",ReturnUtime('M','-1')).'<br>';//上个月第一天
echo date("Y-m-d H:i:s",ReturnUtime('M','-1')).'<br>';//上个月最后一天
echo date("Y-m-d H:i:s",ReturnUtime('W','-7')).'<br>';//上周第一天
echo date("Y-m-d H:i:s",ReturnUtime('W','-7')).'<br>';//上周最后一天
echo date("Y-m-d H:i:s",ReturnUtime('D','-1')).'<br>';//昨天开始时间
echo date("Y-m-d H:i:s",ReturnUtime('D','-1')).'<br>';//昨天结束时间
比如获取上个月的开始和结束,可以这么定义使用:
$aa=ReturnUtime('M','-1');
echo date("Y-m-d H:i:s",$aa);//开始时间
echo '<br />';
echo date("Y-m-d H:i:s",$aa);//结束时间
比如获取上周的开始和结束,可以这么使用:
$aa=ReturnUtime('W','-7');
echo date("Y-m-d H:i:s",$aa);//开始时间
echo '<br />';
echo date("Y-m-d H:i:s",$aa);//结束时间
比如获取昨天的开始和结束,可以这么使用:
$aa=ReturnUtime('D','-1');
echo date("Y-m-d H:i:s",$aa);//开始时间
echo '<br />';
echo date("Y-m-d H:i:s",$aa);//结束时间
页:
[1]