使用 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);
声明:1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。







