首页 > php开发 > php读取excel日期类型数据的例子

php读取excel日期类型数据的例子

Excel中的日期,php读取之后,变成了类似25569这样的数字,而不是Excel中显示的1970-1-1字符形式,原来excel中的日期是个1900-1-1开始的数字格式,比如1900-1-1是1,1970-1-1是25569.

提供一个读取的函数,代码如下:

<?php
//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" : ''); //开源代码phprm.com
            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;
}


文章链接:http://www.phprm.com/develop/fs5215.html

随便收藏,请保留本文地址!

标签:php读取excel php日期类型

相关文章

发表留言