求教PHPExcel_Shared_Date时区问题

excel导入时转换时区,用了代码:

\PHPExcel_Shared_Date::ExcelToPHP($row[37])

发现比实际时间多了8小时,然后用:

\PHPExcel_Shared_Date::ExcelToPHP($row[37],true,'Asia/Shanghai')

不得了,竟然多了16小时。
不知道是哪里出状况了呢?
php里已经有了时区设置:

ini_set('date.timezone','Asia/Shanghai');
阅读 6.1k
2 个回答

excel数据导入到mysql吗? 原始数据是时间戳还是日期格式呢??你说明白点

我提供一个思路你看看可以不。

mysql 里也有时区这个配置,有可能也会影响

 $val = $objWorksheet->getCellByColumnAndRow($column, $row)->getValue();
 $val = $val->__toString();/*转成字符串*/
 $time = strtotime($val);
   
新手上路,请多包涵

date() #— 格式化一个本地时间/日期
gmdate() #— 格式化一个 GMT/UTC 日期/时间,返回的是格林威治标准时(GMT)。

你使用上面两个函数转一下PHPExcel_Shared_Date::ExcelToPHP($row[37])生成的时间戳,肯定有一个能正确转换。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题