PHP中在做EXCEL数据导入的时候,遇到EXCEL单元格中的日期时间显示的是标准的格式化时间,实际上是浮点型(单元格设置成文本可体现),这个时候要导入数据就必须对其进行转化,转成我们需要的时间格式。
在网上查了好多,有两种方法:
但是在测试时发现第一种方法并不准确,第一种方法是用的PHPEXCEL中自带插件中的方法,这里的value是从excel中获取的时间,是一个浮点数PHPExcel_Shared_Date::ExcelToPHP($value)
第二种方法百分百正确
因为excel 的日期是从 1900-01-01 开始计算的(php 是从 1970-01-01)
两者间有一个天数差 25569
时间是格林威治时间
不多说直接上代码:
$d = 25569;
$t = 24 * 60 * 60;
$toTimestamp = gmdate('Y-m-d H:i:s', (41728.732916667 - $d) * $t);
发表评论 取消回复