You are here

private static function PHPExcel_Style_NumberFormat::_formatAsDate in Loft Data Grids 7.2

Same name and namespace in other branches
  1. 6.2 vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/NumberFormat.php \PHPExcel_Style_NumberFormat::_formatAsDate()
1 call to PHPExcel_Style_NumberFormat::_formatAsDate()
PHPExcel_Style_NumberFormat::toFormattedString in vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/NumberFormat.php
* Convert a value in a pre-defined format to a PHP string * *

File

vendor/phpoffice/phpexcel/Classes/PHPExcel/Style/NumberFormat.php, line 435

Class

PHPExcel_Style_NumberFormat
PHPExcel_Style_NumberFormat

Code

private static function _formatAsDate(&$value, &$format) {

  // dvc: convert Excel formats to PHP date formats
  // strip off first part containing e.g. [$-F800] or [$USD-409]
  // general syntax: [$<Currency string>-<language info>]
  // language info is in hexadecimal
  $format = preg_replace('/^(\\[\\$[A-Z]*-[0-9A-F]*\\])/i', '', $format);

  // OpenOffice.org uses upper-case number formats, e.g. 'YYYY', convert to lower-case
  $format = strtolower($format);
  $format = strtr($format, self::$_dateFormatReplacements);
  if (!strpos($format, 'A')) {

    // 24-hour time format
    $format = strtr($format, self::$_dateFormatReplacements24);
  }
  else {

    // 12-hour time format
    $format = strtr($format, self::$_dateFormatReplacements12);
  }
  $dateObj = PHPExcel_Shared_Date::ExcelToPHPObject($value);
  $value = $dateObj
    ->format($format);
}