Dragon
主机之家测评主机之家测评  2019-08-29 19:43 主机之家测评 隐藏边栏 |   抢沙发  115 
文章评分 0 次,平均分 0.0

使用 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);

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

发表评论

扫一扫二维码分享