关于phpexcel读取时间字段的格式不正确

if (!function_exists('excelTime'))
{
    /**
    * phpexcel 对读出来的5位数时间进行转换
    * @param  [type]  $date [description]
    * @param  boolean $time [description]
    * @return [type]        [description]
    */
      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;
    }
}

 

posted @ 2019-07-02 17:25  绘梨衣  阅读(1039)  评论(0)    收藏  举报