php导入excel时,获取的日期变成浮点数转化为本地时间的办法

PHP中在做EXCEL数据导入的时候,遇到EXCEL单元格中的日期时间显示的是标准的格式化时间,实际上是浮点型(单元格设置成文本可体现),这个时候要导入数据就必须对其进行转化,转成我们需要的时间格式。

在网上查了好多,有两种方法,这里附上原创链接link:https://blog.csdn.net/yicixing7/article/details/54290446 (PHPEXCEL中自带的方法),更简单的连接 link:https://blog.csdn.net/wendan564447508/article/details/52596176 供大家参考),
 

但是在测试时发现第一种方法并不准确,第一种方法是用的PHPEXCEL中自带插件中的方法,这里的value是从excel中获取的时间,是一个浮点数PHPExcel_Shared_Date::ExcelToPHP($value)

在excel中转成文本格式是

在php中获取到的就是这个值,用插件中自带的这个方法PHPExcel_Shared_Date::ExcelToPHP($value)返回的是时间戳

1546546452

转成北京时间是2019年1月4日4点多,这与excel中的时间是不相符的。链接中作者测试正确不知道是怎么回事,难道我测试错了。。。

 

使用第二种方法就简单好多了,比较好用,方法如下:

这里的$data_array[$i]['C']是从excel中获取的时间。虽然出来的日期和excel上传的日期相符,不过本人无知,不知道gmdate里面为什么是  (日期-25569)*24*60*60 呢,为什么这样算呢  有知道的大神或者哪里有错误可以留言哈

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小骨格子屋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值