使用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);
评论前必须登录!
立即登录 注册