PHP轉(zhuǎn)換Excel中日期和時(shí)間類型的處理問題
在實(shí)際應(yīng)用中PHP讀取的Excel文件的日期無法直接使用,會(huì)出現(xiàn)的一系列問題。
在Excel中的日期存儲(chǔ)的是數(shù)值類型,是從 1900年1月1日 到現(xiàn)在的數(shù)值,以天為單位來計(jì)算的。
可以在Excel中驗(yàn)證,首先在一個(gè)單元格中輸入 2023-1-1 ,然后將單元格格式修改為 常規(guī)
,然后就會(huì)看到單元格內(nèi)容變成了 44927。
Excel中的時(shí)間是一個(gè)從0到0.99999999之間的小數(shù)值,表示從00:00:00(12:00:00 AM)到23:59:59(11:59:59 PM)之間的時(shí)間。例如12:00 PM的數(shù)值是0.5,表示一天的一半。
正常日期 | Excel存儲(chǔ) |
---|---|
2023-1-1 | 44927 |
2023-1-1 23:59:59 | 44927.9999884259 |
通過PHPExcel的官方文檔了解到,我們可以得到一個(gè)新的的計(jì)算公式:
Excel日期與PHP時(shí)間戳之間存在一個(gè)時(shí)間偏移量,因?yàn)镋xcel的日期起點(diǎn)是1900年1月1日,在UNIX時(shí)間戳中相當(dāng)于從1970年1月1日起前推的25569天。
/* * $excel_date Excel表格的數(shù)字 * 25569 (常數(shù))日期的偏移量 * 86400 (60*60*24) * 28800 (60*60*8)時(shí)差 */ $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中日期和時(shí)間類型的處理的文章就介紹到這了,更多相關(guān)PHP轉(zhuǎn)換Excel日期和時(shí)間內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Bootstrap+PHP實(shí)現(xiàn)多圖上傳功能實(shí)例詳解
這篇文章主要介紹了Bootstrap+PHP實(shí)現(xiàn)多圖上傳功能實(shí)例詳解,本文圖片加實(shí)例相結(jié)合的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下2018-04-04Laravel學(xué)習(xí)教程之從入口到輸出過程詳解
這篇文章主要給大家介紹了關(guān)于Laravel學(xué)習(xí)教程之從入口到輸出過程的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-08-08PHP使用SOAP調(diào)用.net的WebService數(shù)據(jù)
需要和一個(gè).net系統(tǒng)進(jìn)行數(shù)據(jù)交換,對(duì)方提供了一個(gè)WebService接口,使用PHP如何調(diào)用這個(gè)數(shù)據(jù)呢,下面就看看使用SOAP調(diào)用的方法吧2013-11-11CI(CodeIgniter)框架實(shí)現(xiàn)圖片上傳的方法
這篇文章主要介紹了CI(CodeIgniter)框架實(shí)現(xiàn)圖片上傳的方法,結(jié)合實(shí)例形式分析了基于CodeIgniter調(diào)用文件上傳類實(shí)現(xiàn)圖片上傳功能的相關(guān)操作技巧,需要的朋友可以參考下2017-03-03php 網(wǎng)頁游戲開發(fā)入門教程一(webgame+design)
網(wǎng)頁游戲開發(fā)入門教程一 webgame+design , 大家可以參考下。2009-10-10