excel日期格式转化文本格式

查到是 "EXCEL的日期是以序列数的形式存储的,即保存的日期实际是这个日期到1900-1-1相差的天数。当单元格格式为数值时,就会显示出这个差值,即2006-12-1与1900-1-1相差39052天。"

为什么我用PHP实际计算是1899-12-30

函数选错了吧, 在里面多找找日期类函数

excel算出来是39052,而php算出来是39050,试了一下,excel吧1900-01-01转成数字的值为1,所以跟php比,应该多两天的数,及1900-01-01当天和2006-12-01这一天的数。

步骤一:完成第一个单元格的初步转换
在源日期列右侧插入一列,准备放置转换后的文本格式日期。然后在第一个日期对应的单元格输入公式“=text(A2,"yyyymmdd")”
注:如果日期中还包含时、分、秒,则公式可改成“=text(A2,"yyyymmddhhmmss")”。其中的文本格式可以按自己的要求灵活运用,如“yymmdd h:m:s”表示只要年份的后两位、时间中用冒号将时分秒隔开并且不满两位时前面不加“0”。
步骤二:完成整列的初步转换
这个步骤比较简单,使用“向下填充”就可以完成,
步骤三:转换成文本格式
虽然第二步已经出现了我们想要的格式,但要注意:现在是公式的计算值,我们要的是文本格式,所以只能说是“初步”完成转换。
最后只要通过“复制——选择性粘贴——粘贴数值”,全部完成。

excel算出来是39052,而php算出来是39050,试了一下,excel吧1900-01-01转成数字的值为1,所以跟php比,应该多两天的数,及1900-01-01当天和2006-12-01这一天的数。

excel算出来是39052,而php算出来是39050,试了一下,excel吧1900-01-01转成数字的值为1,所以跟php比,应该多两天的数,及1900-01-01当天和2006-12-01这一天的数

你说的这个,是 Excel 著名的 bug。Excel 1900 年的天数,有问题。

图片说明

2006/12/1 与 1900/1/1 相差 39051天,,,,^_^