将完整的 Excel 日期序列格式转换为 Unix 时间戳
2022-08-30 23:53:16
我看到很多关于转换Excel串行日期格式的“日期”部分的引用,但每个人似乎都跳过了它的“时间”部分。
以下是我需要做的:
我有一个要导入的 Excel 文件。PHP 正在使用中。
我遇到了Excel Date Serial格式(dddddd.tttttt),需要将其转换为整个Unix时间戳。
我已经尝试了几种不同的方法,但是我一直在思考如何以流畅的运动来做到这一点。
我看到很多关于转换Excel串行日期格式的“日期”部分的引用,但每个人似乎都跳过了它的“时间”部分。
以下是我需要做的:
我有一个要导入的 Excel 文件。PHP 正在使用中。
我遇到了Excel Date Serial格式(dddddd.tttttt),需要将其转换为整个Unix时间戳。
我已经尝试了几种不同的方法,但是我一直在思考如何以流畅的运动来做到这一点。
请使用此公式从Excel日期更改为Unix日期,然后您可以使用“gmdate”在PHP中获取真实日期:
UNIX_DATE = (EXCEL_DATE - 25569) * 86400
要从 Unix 日期转换为 Excel 日期,请使用以下公式:
EXCEL_DATE = 25569 + (UNIX_DATE / 86400)
将此公式转换为变量后,您可以使用此示例在PHP中获取实际日期:
$UNIX_DATE = ($EXCEL_DATE - 25569) * 86400;
echo gmdate("d-m-Y H:i:s", $UNIX_DATE);
谢谢。
这个oneliner对我有用,当然使用PHPExcel。
$date_formated = date('Y-m-d', PHPExcel_Shared_Date::ExcelToPHP($date_int_val));