PHPExcel - 以强制格式获取日期
PHPExcel - Get date with forced format
我在 php 应用程序中使用 PHPexcel。
我使用 ->getFormattedValue()
从 excel 工作表中获取日期。
当我使用 excel 文件 A 时,它给我以下日期格式:05/11/2016
但是对于文件 B,它给出了以下格式:05-Nov-17
如何强制使用日期格式以便始终获得这样的格式 05-Nov-17
?如何将PHPExcel
日期直接转换为PHP
日期?
您可以使用 getValue()
方法 return 来自单元格的原始值,
$excelTimestampValue = $objPHPExcel->getActiveSheet()
->getCell('A12')
->getValue();
这将 return 一个 MS Excel 序列化的时间戳值;即,表示自 1900 年 1 月 1 日(或 1904 年 1 月 1 日,具体取决于电子表格文件使用的日历)以来的天数的浮点数。根据该时间戳值,您有多种选择:
将该时间戳转换为 unix 时间戳,然后您可以使用 PHP 的 date()
函数对其进行格式化。
$unixTimestamp = PHPExcel_Shared_Date::ExcelToPHP($excelTimestampValue);
echo date('d-M-Y', $unixTimestamp);
将该时间戳转换为 PHP DateTime 对象,然后您可以使用 format()
方法对其进行格式化。
$dto = PHPExcel_Shared_Date::ExcelToPHPObject($excelTimestampValue);
echo $dto->format('d-M-Y');
使用 MS Excel 日期格式掩码将其直接格式化为字符串。
echo PHPExcel_Style_NumberFormat::toFormattedString($excelTimestampValue, 'dd-mmm-yyyy');
我在 php 应用程序中使用 PHPexcel。
我使用 ->getFormattedValue()
从 excel 工作表中获取日期。
当我使用 excel 文件 A 时,它给我以下日期格式:05/11/2016
但是对于文件 B,它给出了以下格式:05-Nov-17
如何强制使用日期格式以便始终获得这样的格式 05-Nov-17
?如何将PHPExcel
日期直接转换为PHP
日期?
您可以使用 getValue()
方法 return 来自单元格的原始值,
$excelTimestampValue = $objPHPExcel->getActiveSheet()
->getCell('A12')
->getValue();
这将 return 一个 MS Excel 序列化的时间戳值;即,表示自 1900 年 1 月 1 日(或 1904 年 1 月 1 日,具体取决于电子表格文件使用的日历)以来的天数的浮点数。根据该时间戳值,您有多种选择:
将该时间戳转换为 unix 时间戳,然后您可以使用 PHP 的 date()
函数对其进行格式化。
$unixTimestamp = PHPExcel_Shared_Date::ExcelToPHP($excelTimestampValue);
echo date('d-M-Y', $unixTimestamp);
将该时间戳转换为 PHP DateTime 对象,然后您可以使用 format()
方法对其进行格式化。
$dto = PHPExcel_Shared_Date::ExcelToPHPObject($excelTimestampValue);
echo $dto->format('d-M-Y');
使用 MS Excel 日期格式掩码将其直接格式化为字符串。
echo PHPExcel_Style_NumberFormat::toFormattedString($excelTimestampValue, 'dd-mmm-yyyy');