PHPExcel处理excel日期

PHPExcel处理excel日期时,获取的值为如:42417(真实日期:2016-02-17),需要先转化一下。

1、PHPExcel_Shared_Date::ExcelToPHP($val);用PHPExcel自带的方法,如果提示找不到PHPExcel_Shared_Date,则用第二种方法。
2、日期转化函数

function excelTime($date, $time = false) {
if
(function_exists('GregorianToJD')) {
if
(is_numeric($date)) {
$jd
= GregorianToJD(1, 1, 1970);
$gregorian
= JDToGregorian($jd + intval($date) - 25569);
$date
= explode('/', $gregorian);
$date_str = str_pad($date[2], 4, '0', STR_PAD_LEFT) . "-" . str_pad($date[0], 2, '0', STR_PAD_LEFT) . "-" . str_pad($date[1], 2, '0', STR_PAD_LEFT) . ($time ? " 00:00:00" : '');
 return $date_str;
}
} else {
$date = $date > 25568 ? $date + 1 : 25569;
/*There was a bug if Converting date before 1-1-1970 (tstamp 0)*/

$ofs
= (70 * 365 + 17 + 2) * 86400;
$date
= date("Y-m-d", ($date * 86400) - $ofs) . ($time ? " 00:00:00" : '');
 }
return $date;
}

你可能感兴趣的:(PHPExcel处理excel日期)