PHPExcel – 获取强制格式的date
我在PHP应用程序中使用PHPexcel。 我用->getFormattedValue()
从Excel工作表中获取date。
当我使用excel文件A它给了我以下的date格式: 05/11/2016
但是与文件B它给出以下格式: 05-Nov-17
如何强制date格式以获得像这样的格式05-Nov-17
所有的时间? 如何将其从PHPExcel
直接转换为PHP
date?
您可以使用getValue()
方法返回单元格中的原始值,
$excelTimestampValue = $objPHPExcel->getActiveSheet() ->getCell('A12') ->getValue();
这将返回一个MS Excel序列化的时间戳值; 即表示自1900年1月1日(或1904年1月1日以来,取决于电子表格文件正在使用哪个日历)的天数的浮点数。 从那个时间戳值,你有很多select:
将该时间戳转换为一个unix时间戳,然后您可以使用PHP的date()
函数格式化该时间戳。
$unixTimestamp = PHPExcel_Shared_Date::ExcelToPHP($excelTimestampValue); echo date('dM-Y', $unixTimestamp);
将该时间戳转换为一个PHP DateTime对象,然后可以使用format()
方法对其进行format()
。
$dto = PHPExcel_Shared_Date::ExcelToPHPObject($excelTimestampValue); echo $dto->format('dM-Y');
使用MS Exceldate格式掩码直接格式化为string。
echo PHPExcel_Style_NumberFormat::toFormattedString($excelTimestampValue, 'dd-mmm-yyyy');