我在我的一个项目中使用http://phpexcel.codeplex.com,我遇到了一个问题。我想在一个单元格中写入 time() 值,我正在这样做:
function writeTimeLine($objActiveSheet, &$lineNumber, $timeStart, $timeEnd, $duration, $category, $client, $date, $comment)
{
$objActiveSheet->setCellValue('A'.$lineNumber, PHPExcel_Shared_Date::PHPToExcel( $timeStart ));
$objActiveSheet->getStyle('A'.$lineNumber)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_TIME4);
}
$objActiveSheet 指的是 $objPHPExcel->getActiveSheet()
Excel中的结果是:
20:27:39
当我在电脑上进行真实测试时,它是 16:27:39
所以这是时区的问题(我住在东美洲-4)。但是,我在设置默认时区后包含了 PHPExcel 文件
date_default_timezone_set('America/New_York');
即使有 time() 的回声,我也确实看到了正确的时间 (16:27:39)。
这是PHPExcel的错误还是我在这里做错了什么?
谢谢你的帮助。