$startDatetimeStr, 'end_datetime' => $endDatetimeStr ]; } function getTargetDate($granularity = 'all') { $data = []; if ($granularity === 'day' || $granularity === 'all') { $date = $granularity !== 'all' ? $granularity : 'day'; $data[$date] = [ 'start_time' => strtotime('today'), 'end_time' => strtotime('tomorrow - 1 second'), ]; } if ($granularity === 'week' || $granularity === 'all') { $date = $granularity !== 'all' ? $granularity : 'week'; $data[$date] = [ 'start_time' => strtotime('this week midnight'), 'end_time' => strtotime('next week midnight - 1 second'), ]; } if ($granularity === 'month' || $granularity === 'all') { $date = $granularity !== 'all' ? $granularity : 'month'; $data[$date] = [ 'start_time' => strtotime(date('Y-m-01 00:00:00')), 'end_time' => strtotime(date('Y-m-t 23:59:59')), ]; } if ($granularity === 'year' || $granularity === 'all') { $date = $granularity !== 'all' ? $granularity : 'year'; $data[$date] = [ 'start_time' => strtotime('first day of January this year'), 'end_time' => strtotime('first day of January next year - 1 second'), ]; } foreach ($data as &$val) { $val['c_start_time'] = date("c",$val['start_time']); $val['c_end_time'] = date("c",$val['end_time']); $val['start_time'] = date("Y-m-d H:i:s",$val['start_time']); $val['end_time'] = date("Y-m-d H:i:s",$val['end_time']); } return $data; } function formatNumber($number) { if ($number < 10000) { return number_format($number); } else if ($number < 100000000) { if ($number % 10000 == 0) { return number_format($number / 10000) . '万'; } else { return number_format($number); } } else { if ($number % 100000000 == 0) { return number_format($number / 100000000) . '亿'; } else { return number_format($number); } } }