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

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论
意见
建议
发表
评论
返回
顶部