[PHP] PHP Excel 讀取時間,時間異常解決

  • 1905
  • 0

摘要:[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,讀取出來後,在立刻改回去就可以解決這問題囉!!~