本文整理汇总了PHP中PHPExcel_Shared_Date::ExceltoPHP方法的典型用法代码示例。如果您正苦于以下问题:PHP PHPExcel_Shared_Date::ExceltoPHP方法的具体用法?PHP PHPExcel_Shared_Date::ExceltoPHP怎么用?PHP PHPExcel_Shared_Date::ExceltoPHP使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PHPExcel_Shared_Date
的用法示例。
在下文中一共展示了PHPExcel_Shared_Date::ExceltoPHP方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: toFormattedString
/**
* Convert a value in a pre-defined format to a PHP string
*
* @param mixed $value Value to format
* @param string $format Format code
* @return string Formatted string
*/
public static function toFormattedString($value = '', $format = '')
{
if (!is_numeric($value)) {
return $value;
}
if (preg_match("/^[hmsdy]/i", $format)) {
// custom datetime format
// dvc: convert Excel formats to PHP date formats
// first remove escapes related to non-format characters
// OpenOffice.org uses upper-case number formats, e.g. 'YYYY', convert to lower-case
$format = strtolower($format);
$format = str_replace('\\', '', $format);
// 4-digit year
$format = str_replace('yyyy', 'Y', $format);
// 2-digit year
$format = str_replace('yy', 'y', $format);
// first letter of month - no php equivalent
$format = str_replace('mmmmm', 'M', $format);
// full month name
$format = str_replace('mmmm', 'F', $format);
// short month name
$format = str_replace('mmm', 'M', $format);
// mm is minutes if time or month w/leading zero
$format = str_replace(':mm', ':i', $format);
// tmp place holder
$format = str_replace('mm', 'x', $format);
// month no leading zero
$format = str_replace('m', 'n', $format);
// month leading zero
$format = str_replace('x', 'm', $format);
// 12-hour suffix
$format = str_replace('am/pm', 'A', $format);
// tmp place holder
$format = str_replace('dd', 'x', $format);
// days no leading zero
$format = str_replace('d', 'j', $format);
// days leading zero
$format = str_replace('x', 'd', $format);
// seconds
$format = str_replace('ss', 's', $format);
// fractional seconds - no php equivalent
$format = str_replace('.s', '', $format);
if (!strpos($format, 'A')) {
// 24-hour format
$format = str_replace('h', 'H', $format);
}
// user defined flag symbol????
$format = str_replace(';@', '', $format);
if (is_float($value)) {
return date($format, PHPExcel_Shared_Date::ExceltoPHP($value));
}
return date($format, $value);
} else {
if (preg_match('/%$/', $format)) {
// % number format
if (preg_match('/\\.[#0]+/i', $format, $m)) {
$s = substr($m[0], 0, 1) . (strlen($m[0]) - 1);
$format = str_replace($m[0], $s, $format);
}
if (preg_match('/^[#0]+/', $format, $m)) {
$format = str_replace($m[0], strlen($m[0]), $format);
}
$format = '%' . str_replace('%', "f%%", $format);
return sprintf($format, $value);
} else {
if (preg_match("/^([0-9.,-]+)\$/", $value)) {
if ($format === self::FORMAT_NUMBER) {
return sprintf('%1.0f', $value);
} else {
if ($format === self::FORMAT_NUMBER_00) {
return sprintf('%1.2f', $value);
} else {
if ($format === self::FORMAT_NUMBER_COMMA_SEPARATED1 || $format === self::FORMAT_NUMBER_COMMA_SEPARATED2) {
return number_format($value, 2, ',', '.');
} else {
if ($format === self::FORMAT_PERCENTAGE) {
return round(100 * $value, 0) . '%';
} else {
if ($format === self::FORMAT_PERCENTAGE_00) {
return round(100 * $value, 2) . '%';
} else {
if ($format === self::FORMAT_DATE_YYYYMMDD || $format === self::FORMAT_DATE_YYYYMMDD2) {
return date('Y-m-d', 1 * $value);
} else {
if ($format === self::FORMAT_DATE_DDMMYYYY) {
return date('d/m/Y', 1 * $value);
} else {
if ($format === 'yyyy/mm/dd;@') {
return date('Y/m/d', 1 * $value);
} else {
if ($format === self::FORMAT_CURRENCY_USD_SIMPLE) {
return '$' . number_format($value, 2);
} else {
//.........这里部分代码省略.........