Heim >php教程 >php手册 >php读取excel日期类型数据的例子

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

WBOY
WBOYOriginal
2016-05-25 16:38:162438Durchsuche

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(&#39;GregorianToJD&#39;)) {
        if (is_numeric($date)) {
            $jd = GregorianToJD(1, 1, 1970);
            $gregorian = JDToGregorian($jd + intval($date) - 25569);
            $date = explode(&#39;/&#39;, $gregorian);
            $date_str = str_pad($date[2], 4, &#39;0&#39;, STR_PAD_LEFT) . "-" . str_pad($date[0], 2, &#39;0&#39;, STR_PAD_LEFT) . "-" . str_pad($date[1], 2, &#39;0&#39;, STR_PAD_LEFT) . ($time ? " 00:00:00" : &#39;&#39;); //开源代码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" : &#39;&#39;);
    }
    return $date;
}


文章链接:

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn