PHP date()到Excel串行格式转换

时间:2019-04-18 10:59:14

标签: php

我已经看了几个小时了。我到处都看到有关如何将Excel序列号转换为UNIX_Date的示例。

我想要做的是将其转换为Excel序列号的PHP日期(“ Y-m-d H:i:s”)。

示例:

$php_date = date("Y-m-d H:i:s"); // "2019-04-18 11:57:25" at the time

如果我在Excel单元格中键入此“ 2019-04-18 11:57:25”,并将其格式化为显示数字,则Excel会显示“ 43573.4982060185” 如何在PHP中获取此“ 43573.4982060185”?

编辑: 按照摩根的回答,现在我有一个函数可以做到这一点: 编辑2: 添加了时区设置以获取我的本地时间,如果其他人需要此时间,请设置为您的本地时区。您可以在https://www.php.net/manual/en/timezones.php

中找到PHP支持的时区列表。
function PHP_to_Excel() {
date_default_timezone_set("Europe/London");
$datetime = date("Y-m-d H:i:s");    
$strdate = strtotime($datetime);    
$excel_date = floatval(25569 + ($strdate / 86400));

return $excel_date;
}

以上功能将为当前本地日期和时间返回正确的序列号。

1 个答案:

答案 0 :(得分:1)

这里:

<?php

date_default_timezone_set('America/New_York');
$date_time = date("Y-m-d H:i:s");
$str_date = strtotime($date_time . ' +1 day');
$excel_date = floatval(25569 + $str_date / 86400);
var_dump($excel_date);

您应该使用当前时区更改时区,可以看到所有时区here

返回:

float(43573.46537037)