首页 > 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" : '');
            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/database/58041.html

转载随意~请带上教程地址吧^^

标签:explode

相关文章

发表留言