PHPExcel 在抓取excel格式的時間日期時,出现了23546之類的數字字串,是因為excel的日期跟時間不是用我們常見的1911-01-01之類的格式,而是從1900-01-01開始往後多一天就從25569往上加1產生,因此靠以下的自製函數來轉換時間格式就搞定了!!
function excelTime($date, $time=false){
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;
}
return $date;
}
沒有留言:
張貼留言