PHPExcel在同一个工作表模板上给出了不同的日期值格式
这是我使用的代码
$value = $this->worksheet->getCellByColumnAndRow(11, 1) ->getFormattedValue();
$this->_date = DateTime::createFromFormat("j/n/Y",$value);
我尝试了以下答案,但他们没有解决它
PHPEXCEL get formatted date as is visible in excel file
how to get date from excel using PHPExcel library
这是我遇到的一个问题,我希望我可以帮助那些也有这个问题的人。
答案 0 :(得分:1)
您可以将Excel序列化时间戳值直接转换为PHP DateTime对象,而无需创建格式化字符串,然后从中创建新的DateTime对象:
$msExcelSerializedTimestampValue = $this->worksheet
->getCellByColumnAndRow(11, 1)
->getCalculatedValue(); // getValue() is even easier if the cell doesn't contain a formula
$this->_date = PHPExcel_Shared_Date::ExcelToPHPObject($msExcelSerializedTimestampValue);
答案 1 :(得分:0)
这解决了我的问题
$value = $this->worksheet->getCellByColumnAndRow(11, 1) ->getCalculatedValue();
$timeValue = (string)PHPExcel_Style_NumberFormat::toFormattedString($value,PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDD2);
$this->_date = DateTime::createFromFormat("Y-m-d",$timeValue);