项目中需要显示一个类似倒计时的功能,也就是根据数据库取出的时间戳,然后显示距离当前时间剩余时长。
水冷眸是个懒人,直接百度,发现都是显示多少天前的教程,好吧。只能自己动手了。贴代码前说一下原理。
一天有86400秒,然后一月跟一年的秒数都可以通过时间戳函数获取,这里就不再赘述了,知道这些就很简单了。
其实就是用数据库取出的时间减去当前时间,然后根据剩余时间,显示成具体剩余时长。
至于当前时间大于数据库的时间,那不在本次考虑范围。因为在实际项目中直接被删掉了。
不是什么十分高深的逻辑原理,不过鉴于博客久未更新,贴出来,权当水一下。
下面直接上代码:
function format_date($time){ $t= $time - time(); $f=array( '31536000'=>'年', '2592000'=>'个月', '604800'=>'星期', '86400'=>'天', '3600'=>'小时', '60'=>'分钟', '1'=>'秒' ); foreach ($f as $k=>$v) { if (0 !=$c=floor($t/(int)$k)) { return $c.$v.'后'; } } }
补充:后续水冷眸看了一下那些显示多少天以前的PHP代码,其实异曲同工,只是更改了一下顺序,是用当前时间减去获取的日期。