PHP函数实现获取月、周、日的开始时间戳和结束时间戳
笔记 by ecms 2018-01-09 17:10:40

 

JavaScript Code复制内容到剪贴板
  1. /* 
  2. $type: 需要获取的时间戳类型:M为月 W为周 D为天。 
  3. $value: 需要的值。+ 或者 - 数值。 
  4. $time:返回为包含开始时间和结束时间的数组。 
  5. */  
  6. function ReturnUtime($type='',$value=''){  
  7.     $type=strtoupper($type);  
  8.     switch ($type) {  
  9.         case 'M':  
  10.             $t = strtotime((date('Y-m',time()) . '-01 00:00:01')); // 20151031修复strtotime按30天计算的BUG  
  11.             $time[] = strtotime(date("Y-m-01 00:00:00", strtotime("{$value} month",$t)));//月开始时间  
  12.             $time[] = strtotime(date("Y-m-t 23:59:59", strtotime("{$value} month",$t)));//月结束时间  
  13.             break;  
  14.         case 'W':  
  15.             $time[] = mktime(0,0,0,date('m'),date('d')-date('w')+1+($value),date('Y'));//周开始时间  
  16.             $time[] = mktime(23,59,59,date('m'),date('d')-date('w')+7+($value),date('Y'));//周结束时间  
  17.             break;  
  18.         case 'D':  
  19.             $time[] = mktime(0,0,0,date('m'),date('d')+($value),date('Y'));//天开始时间  
  20.             $time[] = mktime(23,59,59,date('m'),date('d')+($value),date('Y'));//天结束时间  
  21.             break;  
  22.         default:  
  23.             $time[] = mktime(0,0,0,date('m'),date('d'),date('Y'));//默认为当天  
  24.             $time[] = mktime(23,59,59,date('m'),date('d'),date('Y'));//默认为当天  
  25.             break;  
  26.     }  
  27.     return $time;  
  28. }  

 

使用方法:

JavaScript Code复制内容到剪贴板
  1. //部分例子:  
  2. echo date("Y-m-d H:i:s",ReturnUtime('M','-1')[0]).'<br>';//上个月第一天  
  3. echo date("Y-m-d H:i:s",ReturnUtime('M','-1')[1]).'<br>';//上个月最后一天  
  4. echo date("Y-m-d H:i:s",ReturnUtime('W','-7')[0]).'<br>';//上周第一天  
  5. echo date("Y-m-d H:i:s",ReturnUtime('W','-7')[1]).'<br>';//上周最后一天  
  6. echo date("Y-m-d H:i:s",ReturnUtime('D','-1')[0]).'<br>';//昨天开始时间  
  7. echo date("Y-m-d H:i:s",ReturnUtime('D','-1')[1]).'<br>';//昨天结束时间  

 

比如获取上个月的开始和结束,可以这么定义使用:

JavaScript Code复制内容到剪贴板
  1. $aa=ReturnUtime('M','-1');  
  2. echo date("Y-m-d H:i:s",$aa[0]);//开始时间  
  3. echo '<br />';  
  4. echo date("Y-m-d H:i:s",$aa[1]);//结束时间  

 

比如获取上周的开始和结束,可以这么使用:

JavaScript Code复制内容到剪贴板
  1. $aa=ReturnUtime('W','-7');  
  2. echo date("Y-m-d H:i:s",$aa[0]);//开始时间  
  3. echo '<br />';  
  4. echo date("Y-m-d H:i:s",$aa[1]);//结束时间  

 

比如获取昨天的开始和结束,可以这么使用:

JavaScript Code复制内容到剪贴板
  1. $aa=ReturnUtime('D','-1');  
  2. echo date("Y-m-d H:i:s",$aa[0]);//开始时间  
  3. echo '<br />';  
  4. echo date("Y-m-d H:i:s",$aa[1]);//结束时间  

 

 

本文来自于:http://www.phpin.net/thread-331-1-1.html

Powered by yoyo苏ICP备15045725号