Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将PHP日期转换为Excel?_Php_Excel_Date - Fatal编程技术网

将PHP日期转换为Excel?

将PHP日期转换为Excel?,php,excel,date,Php,Excel,Date,我相信Excel的日期格式是自1899年12月30日以来的#天。(为什么?因为它基于1900年1月1日,但他们错误地将1900年的闰日包括在内,而且是基于一个闰日。所以1900年的前几个月可以,但随后出现了错误。Excel中的1901年1月1日是“367”。) 那么,如何将日期或时间戳从PHP(通常存储为Unix时间戳,即自1970年1月1日以来的秒数)转换为Excel 在PHP5.1.6中 是的,我打赌你没看到那一个。因此,我没有任何DateTime对象、date_create()、date_

我相信Excel的日期格式是自1899年12月30日以来的#天。(为什么?因为它基于1900年1月1日,但他们错误地将1900年的闰日包括在内,而且是基于一个闰日。所以1900年的前几个月可以,但随后出现了错误。Excel中的1901年1月1日是“367”。)

那么,如何将日期或时间戳从PHP(通常存储为Unix时间戳,即自1970年1月1日以来的秒数)转换为Excel

在PHP5.1.6中

是的,我打赌你没看到那一个。因此,我没有任何DateTime对象、date_create()、date_diff()等可用函数


如果不简单地记录1970年1月1日的Excel日并从那里开始工作,是否有可能?有DST证明版本吗?

如果我没弄错的话,一天有86400秒,1899年12月30日到1970年1月1日之间有25569天。因此,要将Unix时间戳转换为Excel日期

ExcelDate=25569+UnixTS/86400


他应该工作。当然,此公式仅适用于UTC。(同时,它忽略闰秒。)对于其他时区,如果您知道UTC的偏移量(以秒为单位!),您可以在使用上述公式之前将其添加到时间戳中。

我不认为您用于编写Excel文件的任何东西都附带有任何转换函数?如果这只是CSV,我发现Excel非常擅长解析基本的日期/时间格式。我使用PHPExcel,它的内置函数转换日期依赖于PHP5.2。95%的PHPExcel在5.1中工作,但日期转换不起作用。我正在制作一个实际的Excel文件,当我只发送日期字符串“07/27/2011”时,它似乎不识别它是一个日期,因此操作和排序都停止了。我不认为升级到5.2或更高版本是一个选项?如果可以,请相信我。这是我去年的圣诞礼物,今年也可能是。酷。你犯了[php5.1]!我想这暂时行得通。我怀疑DST是否重要——它将以正确的方式进行。(如果最后是480.04天,或者479.96天,那仍然是480…)结果是,即使我加上天数,格式化代码仍然需要5.2。哦,好吧。