PHPExcel導入Excel文件,對Excel中日期單元格處理
/** * 判斷字符串是不是日期格式 * @param $date * @param $format * @return bool */ function is_date($date, $format = 'Y-m-d') { if (!$date || $date == '0000-00-00') return false; $unix_time_1 = strtotime($date); if (!is_numeric($unix_time_1)) return false; //非數字格式 $format_date = date($format, $unix_time_1); $unix_time_2 = strtotime($format_date); return ($unix_time_1 == $unix_time_2); } /** * excel數據導入 日期格式化 * @param $date * @return false|string */ function get_date_by_excel($date) { if (!$date || $date == '0000-00-00') return null; $unix_time = \PHPExcel_Shared_Date::ExcelToPHP($date); return ($unix_time < 0) ? date('Y-m-d', $unix_time) : date('Y-m-d', strtotime(gmdate('Y-m-d', $unix_time))); } /** * 獲取excel日期格式化結果 * @param $date string excel日期單元格字符串 * @param $default string $date未非日期時返回默認日期 * @return string */ function excel_date_format($date, $default = '') { if ($default == '') $default = date('Y-m-d'); if (is_date($date)) return $date; return get_date_by_excel($date) ?: $default; }