【发布时间】:2012-06-22 14:15:26
【问题描述】:
我正在从 excel 中读取日期,格式为 12/5/2012 日/月/年 使用此代码阅读 .使用 PHP EXCEL
PHPExcel_Style_NumberFormat::toFormattedString($value['A'],'YYYY-MM-DD' );
将上述日期“2012 年 12 月 5 日”转换为“2012 年 12 月 5 日”就像魅力一样工作
现在的问题是,如果日期是 18/5/2012,或者您可以说如果我设置的日期大于 12,它会在格式化后以这种格式 18/5/2012 给我这个日期 18/5/2012
我也试过这个东西
$temp = strtotime( PHPExcel_Style_NumberFormat::toFormattedString($value['A'],'YYYY-MM-DD' );
$actualdate = date('Y-m-d',$temp) ;
这也将日期“2012 年 12 月 5 日”转换正确,但在这种情况下 18/5/2012 输出为 1970-01-01
【问题讨论】:
-
您给出的示例仍未正确转换 - 12/5/2012 从英国转换为 ISO 格式时应返回 2012-05-12
-
是的你没注意到......为了获得这种格式 2012-05-12 我必须制作像这样的字符串格式 YYYY-DD-MM
-
该值是 Excel DateTimestamp 还是字符串?如果是前者,为什么不使用 ExcelToPHP() 或 ExcelToPHPObject() 等 PHPExcel_Shared_Date 转换方法?如果是后者,那么你不应该使用 toFormattedString()
标签: php import-from-excel