2016-05-06 217 views
1

定格的日期时间与PHP 和输出Excel中如何设置格式的日期时间[PHPExcel]

date_default_timezone_set('Asia/Bangkok'); 
$objPHPExcel->getActiveSheet()->SetCellValue('S1', 'Show DateTime'); 
$dateValue = PHPExcel_Shared_Date::PHPToExcel(strtotime('23-Apr-1989 17:05:50')); 
$objPHPExcel->getActiveSheet() 
    ->setCellValue('S2', $dateValue); 
$objPHPExcel->getActiveSheet() 
    ->getStyle('S2') 
    ->getNumberFormat() 
    ->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDDSLASH); 


但输出

enter image description here



如何显示在Excel中23/04数据/ 1989 17:05:50 and excel type Date

+1

但1989 *是*> 1900和1904 ... – Leviathan

+0

啊,道歉,我误读日期 –

回答

2

您目前使用数字格式的预定义常数PHPExcel_Style_NumberFormat::FORMAT_DATE_YYYYMMDDSLASH

如果更换,到你想要的格式,一切都应该是OK:'dd/mm/yyyy hh:mm:ss'

另请参见setFormatCode()的文档:http://apigen.juzna.cz/doc/ouardisoft/PHPExcel/class-PHPExcel_Style_NumberFormat.html#_setFormatCode

+0

数据是正确的,但excel类型是自定义 如果可能,我想在Excel中格式化日期 – KwangKung

+1

除非您使用MS Excel的预定义日期格式之一,那么它将是一种自定义格式.... this不应该对任何电子表格至关重要 –

+0

@KwangKung:答案是abou不改变单元格的*格式*,而不是*数据*。你试过了吗?难道它不正是你想要的吗? – Leviathan