最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP轉(zhuǎn)換Excel中日期和時間類型的處理問題

 更新時間:2023年10月24日 09:20:15   作者:YBaog  
在實(shí)際應(yīng)用中PHP讀取的Excel文件的日期無法直接使用,會出現(xiàn)的一系列問題,本文給大家介紹PHP轉(zhuǎn)換Excel中日期和時間類型的處理問題,感興趣的朋友一起看看吧

在實(shí)際應(yīng)用中PHP讀取的Excel文件的日期無法直接使用,會出現(xiàn)的一系列問題。

在Excel中的日期存儲的是數(shù)值類型,是從 1900年1月1日 到現(xiàn)在的數(shù)值,以天為單位來計算的。
可以在Excel中驗(yàn)證,首先在一個單元格中輸入 2023-1-1 ,然后將單元格格式修改為 常規(guī),然后就會看到單元格內(nèi)容變成了 44927。
Excel中的時間是一個從0到0.99999999之間的小數(shù)值,表示從00:00:00(12:00:00 AM)到23:59:59(11:59:59 PM)之間的時間。例如12:00 PM的數(shù)值是0.5,表示一天的一半。
正常日期Excel存儲
2023-1-144927
2023-1-1 23:59:5944927.9999884259

通過PHPExcel的官方文檔了解到,我們可以得到一個新的的計算公式:

Excel日期與PHP時間戳之間存在一個時間偏移量,因?yàn)镋xcel的日期起點(diǎn)是1900年1月1日,在UNIX時間戳中相當(dāng)于從1970年1月1日起前推的25569天。

/*
 * $excel_date Excel表格的數(shù)字
 * 25569 (常數(shù))日期的偏移量
 * 86400 (60*60*24)
 * 28800  (60*60*8)時差
 */
$timestamp = ($excel_date - 25569) * 86400 - 28800;

通過上述公式,獲取Excel日期

 function get_excel_timestamp($excel_date)
{
    $pattern = '/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/'; //日期格式正則
    if (empty($excel_date)) {
        return time();
    } elseif (is_numeric($excel_date)) {
        return ($excel_date - 25569) * 86400 - 28800;
    } elseif (preg_match($pattern, $excel_date)) {
        return strtotime($excel_date);
    } else {
        return time();
    }
}

到此這篇關(guān)于PHP轉(zhuǎn)換Excel中日期和時間類型的處理的文章就介紹到這了,更多相關(guān)PHP轉(zhuǎn)換Excel日期和時間內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

永登县| 绥滨县| 东明县| 准格尔旗| 雷州市| 松潘县| 南涧| 德兴市| 安吉县| 大安市| 博野县| 屏边| 周至县| 社会| 汉源县| 邹平县| 五原县| 墨竹工卡县| 睢宁县| 中宁县| 舞阳县| 庄河市| 合江县| 平阳县| 香河县| 巫山县| 四子王旗| 崇左市| 西乌珠穆沁旗| 新河县| 陆丰市| 东光县| 嘉鱼县| 永济市| 松溪县| 三江| 扬中市| 达拉特旗| 华容县| 潞西市| 宁安市|