做了一个东西将excel上面的内容下载下来装入数据库,期间我发现excel中的日期是自定义类型的数据,所以拿出来的日期是一串数字,经过研究我发现它是从1900年到现在的天数,于是我准备把它转成日期,开始我用的是date和time函数准备解决,发现unix时间戳是从1970年开始计时,所以根本无法完成这个日期转时间,后来我发现了php库内置的一个类DateTime,它里面有一个函数add可以完成这个功能,所以我就写了下面的代码:
$date = new DateTime('2000-01-01',new DateTimeZone('Asia/Shanghai'));
$date->add(new DateInterval('P10D'));
echo $date->format('Y-m-d') . " ";
上面这段代码我来解释一下,首先是datetime的构造函数需要的参数,第一个是一个日期,也就是你的开始日期,默认是当前时间,第二个是一个时区的对象,他的构造函数的参数是时区的字符串,add函数的参数是一个DateInterval对象,他的构造参数是一个字符串。Add函数返回一个datetime的类,再调用format函数来显示时间,DateInterval的参数表示第一个datetime的时间推后多少天的日期,至此问题就解决了