日期计算示例代码: /** * 时间加减处理 * $strdate:需要处理的时间字符串 * $days: 加减天数 **/ public function changedate($strdate,$days){ $time = time(); if(isset($strdate) && !empty($strdate)){ $time = strtotime($strdate); } return date('y-m-d h:i:s',strtotime($days day,$time)); }
获取当前周、月头尾日期示例代码: /** * 获取当前周、月的头尾日期 * * $datearr['w1']:周一 * $datearr['w7']:周末 * $datearr['m1']:月头 * $datearr['m2']:月尾 **/ public function getcurrentdateinfo(){ $daytimes = 24*60*60; $datearr = [];$temp = ''; $weekindex = (int)date('w'); switch($weekindex){ case 0: $datearr['w1'] = date('y-m-d 00:00:00',strtotime('+1 day')); $datearr['w7'] = date('y-m-d 23:59:59',strtotime('+7 day')); break; case 1: $datearr['w1'] = date('y-m-d 00:00:00'); $datearr['w7'] = date('y-m-d 23:59:59',strtotime('+6 day')); break; case 2: $datearr['w1'] = date('y-m-d 00:00:00',strtotime('-1 day')); $datearr['w7'] = date('y-m-d 23:59:59',strtotime('+5 day')); break; case 3: $datearr['w1'] = date('y-m-d 00:00:00',strtotime('-2 day')); $datearr['w7'] = date('y-m-d 23:59:59',strtotime('+4 day')); break; case 4: $datearr['w1'] = date('y-m-d 00:00:00',strtotime('-3 day')); $datearr['w7'] = date('y-m-d 23:59:59',strtotime('+3 day')); break; case 5: $datearr['w1'] = date('y-m-d 00:00:00',strtotime('-4 day')); $datearr['w7'] = date('y-m-d 23:59:59',strtotime('+2 day')); break; case 6: $datearr['w1'] = date('y-m-d 00:00:00',strtotime('-5 day')); $datearr['w7'] = date('y-m-d 23:59:59',strtotime('+1 day')); break; } //1-12:一月 至 十二月 $monthindex = (int)date('m'); switch($monthindex){ case 1: $temp = date('y-02-01 00:00:00'); $datearr['m1'] = date('y-m-01 00:00:00'); $datearr['m2'] = date('y-m-d 23:59:59',strtotime($temp)-$daytimes); break; case 2: $temp = date('y-03-01 00:00:00'); $datearr['m1'] = date('y-m-01 00:00:00'); $datearr['m2'] = date('y-m-d 23:59:59',strtotime($temp)-$daytimes); break; case 3: $temp = date('y-04-01 00:00:00'); $datearr['m1'] = date('y-m-01 00:00:00'); $datearr['m2'] = date('y-m-d 23:59:59',strtotime($temp)-$daytimes); break; case 4: $temp = date('y-05-01 00:00:00'); $datearr['m1'] = date('y-m-01 00:00:00'); $datearr['m2'] = date('y-m-d 23:59:59',strtotime($temp)-$daytimes); break; case 5: $temp = date('y-06-01 00:00:00'); $datearr['m1'] = date('y-m-01 00:00:00'); $datearr['m2'] = date('y-m-d 23:59:59',strtotime($temp)-$daytimes); break; case 6: $temp = date('y-07-01 00:00:00'); $datearr['m1'] = date('y-m-01 00:00:00'); $datearr['m2'] = date('y-m-d 23:59:59',strtotime($temp)-$daytimes); break; case 7: $temp = date('y-08-01 00:00:00'); $datearr['m1'] = date('y-m-01 00:00:00'); $datearr['m2'] = date('y-m-d 23:59:59',strtotime($temp)-$daytimes); break; case 8: $temp = date('y-09-01 00:00:00'); $datearr['m1'] = date('y-m-01 00:00:00'); $datearr['m2'] = date('y-m-d 23:59:59',strtotime($temp)-$daytimes); break; case 9: $temp = date('y-10-01 00:00:00'); $datearr['m1'] = date('y-m-01 00:00:00'); $datearr['m2'] = date('y-m-d 23:59:59',strtotime($temp)-$daytimes); break; case 10: $temp = date('y-11-01 00:00:00'); $datearr['m1'] = date('y-m-01 00:00:00'); $datearr['m2'] = date('y-m-d 23:59:59',strtotime($temp)-$daytimes); break; case 11: $temp = date('y-12-01 00:00:00'); $datearr['m1'] = date('y-m-01 00:00:00'); $datearr['m2'] = date('y-m-d 23:59:59',strtotime($temp)-$daytimes); break; case 12: $temp = date((date('y')+1).-01-01 00:00:00); $datearr['m1'] = date('y-m-01 00:00:00'); $datearr['m2'] = date('y-m-d 23:59:59',strtotime($temp)-$daytimes); break; } return $datearr; }
以上代码仅供参考,疏漏之处还请指出以便改进!
