php - PHP 日期读取问题,我得到的是数字而不是日期
解决方案
Excel 将日期视为数字,数字表示 1899 年 12 月 31 日之后的天数。因此,第 1 天是 1900 年 1 月 1 日,第 43102 天是 2018 年 1 月 3 日。但是等等……您的数据显示 2018 年 1 月 2 日!事实证明,微软认为 1900 年是闰年,因此第 60 天是 1900 年 2 月 29 日,而在现实世界中实际上是 3 月 1 日。无论如何,这意味着对于 1900 年 2 月 28 日之后的日期,你需要减去一个从天数得到正确的日期。因此,要将 Excel 日期数转换为 PHP 中的日期,请使用以下代码:
$dayval = 43102; // you would read from your file here
$date = new DateTime('1899-12-31');
$date->modify("+$dayval day -1 day");
echo $date->format('Y-m-d');
输出:
2018-01-02
推荐阅读
- ignite - 当 Ignite 服务器上已经有配置时,在 Ignite 客户端上具有相同的配置
- sql-server - 如何根据条件在T-SQL select语句中执行where子句
- google-cloud-platform - 如何流式传输存储在谷歌云存储桶上的视频?
- linux - 在 Ubuntu 16.04 中无法在没有 sudo 用户的情况下运行 Docker 命令
- lotus-notes - 如何将 FieldGetText 与数字进行比较?
- netlogo - NetLogo:关于如何监控分配给所有海龟的各种标志的状态?
- pytorch - RuntimeError:大小不匹配,m1:[192 x 68],m2:[1024 x 68] 在 /opt/conda/conda-bld/pytorch_/work/aten/src/THC/generic/THCTensorMathBlas.cu:268
- macos - 卷子文件夹和缓存
- javascript - 单击父路由时保持子路由相同
- wordpress - 如何在wordpress主题中显示继续阅读摘录?