我已经看了几个小时了。我到处都看到有关如何将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;
}
以上功能将为当前本地日期和时间返回正确的序列号。
答案 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)