关于DateTime计算某个日期过后的多少天之后的日期

      做了一个东西将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') . "\n";

上面这段代码我来解释一下,首先是datetime的构造函数需要的参数,第一个是一个日期,也就是你的开始日期,默认是当前时间,第二个是一个时区的对象,他的构造函数的参数是时区的字符串,add函数的参数是一个DateInterval对象,他的构造参数是一个字符串。Add函数返回一个datetime的类,再调用format函数来显示时间,DateInterval的参数表示第一个datetime的时间推后多少天的日期,至此问题就解决了

转载于:https://www.cnblogs.com/sunke/p/5027110.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值