使用 PHPExcel 读取 excel 中的数据,其中日期都转换成了一组纯数字,刚开始以为是乱码导致,后来仔细检查了编码没问题。
百度了一下发现原来 excel 中表示日期的文本格式确实一组纯数字,而且这个纯数字就是一个偏移的值。这个偏移的值是距离 1900/1/0 0:00:00 的一个天数值,2015/5/20 的文本格式 42144.6580671296 正好是距离 1900/1/0 0:00:00 的天数。距离 1900/1/0 0:00:00 的 42561 天叫表示这是 2018 年的某一天。
PHPExcel 中提供了专门的 gmdate 函数进行日期转换来解决这个问题,具体用法如下:
$day = 43123; echo gmdate("Y-m-d H:i:s", PHPExcel_Shared_Date::ExcelToPHP($day);
本文为原创文章,版权归主机之家测评所有,欢迎分享本文,转载请保留出处!