php 读取excel 时间列

用PHP做一个导入excel功能,发现读取excel时间列的时候总是数据不对,去网上查找了这个函数,转换了一下就好了,真尼玛迷茫了,什么情况,先记录一下,以后再研究吧。

函数如下:

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;  

}  

  

你可能感兴趣的:(Excel)