几乎所有从事程序开发的程序员都遇到时间处理问题,PHP开发也一样,幸运的是PHP提供了很多关于日期时间函数。只要经常使用这些函数,搭配使用,日期时间处理上就熟能生巧了。
今天要讲的这个例子,需求是这样的。得知某个日期时间,
如:2012-04-25 10:10:00
我要在这个日期时间的基础上加上5个月并返回处理后的日期
结果:2012-04-25 10:10:00 加5个月等于 2012-09-25 10:10:00
这个需求看似简单,但还是有点棘手,因为PHP没有直接提供yyyy-mm-dd hh:ii:ss 这样格式的日期时间进行加减,所以只能通过时间戳来实现。时间戳是程序换算的标准格式,精确到秒。PHP可以将多种日期格式转换为时间戳,又可以把时间戳转换回各种日期格式,结合这两个特点我们大致实现的步骤有三步,先把原来时间转换成时间戳,然后进行加减,最后转换回日期格式。
当然,这是实现原理,结合PHP函数date()与strtotime()两个函数来实现大致也是这个意思,请看实例代码
不要将php想的这么笨,当前时间用time(),按你的需求来个最直接的办法。
$time=time();
for($i=1;$i$s=getdate($time-$i*24*3600);
$day[$i][mdy]=$s[mday];
$day[$i][mon]=$s[mon];
}
这样你就得到过去5天的月和日了,将-换成+就是未来5天的月和日。
不过,我发现你是不太了解时间戳的定义。
未来五天,就是time()+5*24*3600,
过去五天,就是time()-5*24*3600,
为什么不能用时间戳?
建议使用javascript语言编写代码,用PHP完成这个比较麻烦。
具体的倒计时代码你可以网上搜索下,类似的代码有很多。