PHP计算几分钟前、几小时前等
在网页应用中,经常会用到要计算几分钟前,或者几个小时前所进行的操作,比如在我们经常写博客时,就会有前几天发表了什么文章,或者是几分钟之前发表了某篇文章,在博客中,其中使用插件即可实现这样的计算时间的操作,像这样的应用,除了在我们自己的博客会遇到外,更多的类似于QQ空间社交类的站点应用就更广了。。
在QQ空间中,经常看到某某好友几分钟或几秒钟发表了某篇说说,或上传了某个图片之类的,还有在新流微博中,对于时间的计算也非常的精细,类如某个明星几秒钟之前发表了一篇微博,总之,时间的计算在SNS的社交网络中显得非常重要,毕竟SNS社交网络重视的是新闻的即时性,快速性。
那么使用PHP怎样来计算时间呢,其实原理也是很简单的,通俗的来讲就是将“现在的时间”减去“发表新闻的时间”就等于“距离的时间”,这个说得不是哪么准确,但为了能够理解吧,也就是时间的加减法,这里写了一个PHP的时间计算函数,看如下函数代码:
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.'前';
}
}
}
这是自定义了一个时间的函数 format_date(),参数就是要计算的时间了,$t=time()-$time;就是用来计算时间的,那么下面又提供了一组数组,这个数组定义了一系列时间,年,月,星期,天,小时,分钟,秒等等,最后利用 foreache 将其时间进行循环,刚开始看可能有些不太理解,可以自己试着去运行一下,把 函数里面的时间换成自己要计算的函数,其实在大多博客的插件中就是使用了这样的函数进行时间的计算的,很实用的一个PHP函数功能。
呵呵,这个有点不太懂啊,还是先了解一下
PHP这种技术不懂啊
难怪有的博客没有发布时间
正好研究研究
函数代码还真不懂。
也想在自己的博客里添加文章发布的时间!
你的博客文章发布时间不有么.
这也能计算啊
不少站点都有计算时间的函数,很常用到的.
很不错很给力
以后研究研究
没用到
都是高手些,博主,诚求友情链接
已经添加友情链接.
PHP高手!佩服啊
这个好顺便问一下博主知不知道如何实现“网站运行多少天”
以前分享过:http://www.zhangge.net/3201.html
正好去看一下,wp中就有网站运行多少天的函数.
博主所说的情况确实很常见,很多博客文章中的版权说明也有这个显示,学习了
示例输出:
不到 1星期
1天前
稍加改进一下吧,另外最好有个例子。
<?php
header("Content-type: text/html; charset=utf-8");
/**
* 获取时间差异字符串表示
*
* param int $time 当前时间值timestamp,整数,可用strtotime进行时间转换
* param int $punit 时间单位,可选年、月、星期、天、小时、分钟、秒,不够则显示不够消息
* return string
**/
function format_date($time,$punit=”){
$t=time()-$time; //首先获取当前时间和形式参数时间差
$f=array( //定义一个关联数组,key为以秒为单位的时间
‘31536000’=>’年’,
‘2592000’=>’月’,
‘604800’=>’星期’,
‘86400’=>’天’,
‘3600’=>’小时’,
’60’=>’分钟’,
‘1’=>’秒’
);
if (empty($punit)){
foreach ($f as $k=>$v) {//循环关联数组
//如果$t的时间差除数组中的key值能够大于0,即能整除
if (0 !=$c=floor($t/(int)$k)) {
return $c.$v.’前’;//显示结果
}
}
}else{
foreach ($f as $k=>$v) {//循环关联数组
if ($v==$punit){
if (0 !=$c=floor($t/(int)$k)) {
return $c.$v.’前’;//显示结果
}else{
return ‘不到 1’.$v;
}
}
}
}
}
/*———举2个示例————-*/
//输出小时数
echo format_date(strtotime(‘2014-07-25′),’星期’);
echo ”;
//默认输出数
echo format_date(strtotime(‘-1 day’));
?>
博主学PHP 才没多久?
时间没多久,才有几年时间吧。
改进得好完善。
这个功能很好,实用。博主其实可以多写一些这方面的,简单
先收藏吧,以后说不定会用着