[PHP] PHP Excel 读取时间,时间异常解决

摘要:[PHP] PHP Excel 读取时间,时间异常解决


很久没留纪录了,最近又再次碰到 PHP EXCEL。

曾经读取数据的时候,有发现读取 EXCEL 字段为时间格式的时候,透过 PHP 的内建 Date() 函数,造成日期或时间跑掉的问题,

纪录一下解决的方法 范例如下:



	$defTimeZone = date_default_timezone_get( );
	date_default_timezone_set( 'UTC' );
	$f[$returnArr['title'][$key]] = date( 'm-d-Y', PHPExcel_Shared_Date::ExcelToPHP( $value ) );
	date_default_timezone_set( $defTimeZone );

发生状况原因为 使用了 内建 Date() 函数后,将会去读取 服务器上所设定的 时区,如果是中国台北之类的还好,但万一是GMT为前一日的话呢....呵呵…

就会造成 EXCEL 字段中明明是 2013/05/24,透过PHPEXCEL读取出来却变成 2013/05/23 的问题。

所以解决方法就是在读取之前,将PHP 时区 设定为 UTC,读取出来后,在立刻改回去就可以解决这问题啰!!~