@fzbing
2015-06-09T16:41:18.000000Z
字数 1227
阅读 1287
php
function timeto($time, $case = 1){$Y = date('Y', $time);$m = date('m', $time);$d = date('d', $time);$z = date('z', $time);$z++;switch ($case) {case 1: // 天$last_start = mktime(0, 0, 0, 1, $z - 1, $Y);$cur_start = mktime(0, 0, 0, 1, $z, $Y);$next_start = mktime(0, 0, 0, 1, $z + 1, $Y);break;case 2: // 周$N = date('N', $time);$z = $z - $N + 1;$last_start = mktime(0, 0, 0, 1, $z - 7, $Y);$cur_start = mktime(0, 0, 0, 1, $z, $Y);$next_start = mktime(0, 0, 0, 1, $z + 7, $Y);break;case 3:$j = date('j', $time); // 当前月份第几天$cur_month_days = date('t', $time);$last_month_days = date('t', mktime(0, 0, 0, $m - 1, $d, $Y));$z = $z - $j + 1;$last_start = mktime(0, 0, 0, 1, $z - $last_month_days, $Y);$cur_start = mktime(0, 0, 0, 1, $z, $Y);$next_start = mktime(0, 0, 0, 1, $z + $cur_month_days, $Y);break;case 4:$j = date('j', $time); // 当前月份第几天$cur_months_days = date('t', $time)+ date('t', mktime(0, 0, 0, $m + 1, $d, $Y))+ date('t', mktime(0, 0, 0, $m + 2, $d, $Y));$last_months_days = date('t', mktime(0, 0, 0, $m - 3, $d, $Y))+ date('t', mktime(0, 0, 0, $m - 2, $d, $Y))+ date('t', mktime(0, 0, 0, $m - 1, $d, $Y));$z = $z - $j + 1; // 当前月第一天$last_start = mktime(0, 0, 0, 1, $z - $last_months_days, $Y);$cur_start = mktime(0, 0, 0, 1, $z, $Y);$next_start = mktime(0, 0, 0, 1, $z + $cur_months_days, $Y);break;default:return false;}return ['cur' => ['start' => $cur_start,'end' => $next_start - 1],'last' => ['start' => $last_start,'end' => $cur_start - 1],];}