PHP中"多少时间之前的"做法
2011-07-30 12:10
501 查看
经常看到,有的视频站上,都显示某个视频,是多少天之前,多少分钟之前,多少年之前,
其实实现起来不麻烦,下面是函数:
<?PHP
include_once('timeago.php');
$cur_time1 ="1291684422";//UNIX时间,统一用
echo time_ago($cur_time1) ;
?>
timeago.php
<?PHP
function time_ago($cur_time){
$time_ = time() - $cur_time;
$seconds =$time_;
$minutes = round($time_ / 60);
$hours = round($time_ / 3600);
$days = round($time_ / 86400);
$weeks = round($time_ / 604800);
$months = round($time_ / 2419200);
$years = round($time_ / 29030400);
//Seconds
if($seconds <= 60){
$time="$seconds seconds ago";
//Minutes
}else if($minutes <= 60){
if($minutes == 1){
$time="one minute ago";
}else{
$time="$minutes minutes ago";
}
//Hours
}else if($hours <= 24){
if($hours == 1){
$time="one hour ago";
}else{
$time="$hours hours ago";
}
//Days
}else if($days <= 7){
if($days == 1){
$time="one day ago";
}else{
$time="$days days ago";
}
//Weeks
}else if($weeks <= 4){
if($weeks == 1){
$time="one week ago";
}else{
$time="$weeks weeks ago";
}
//Months
}else if($months <= 12){
if($months == 1){
$time="one month ago";
}else{
$time="$months months ago";
}
//Years
}else{
if($year == 1){
$time="one year ago";
}else{
$time="$year years ago";
}
}
return $time;
}
?>
注意,由于英文跟中文的语法的习惯,中文的话,1年和2年是没复数的表示上的分别的,所以上面的代码自己适当改下就可以用了
其实实现起来不麻烦,下面是函数:
<?PHP
include_once('timeago.php');
$cur_time1 ="1291684422";//UNIX时间,统一用
echo time_ago($cur_time1) ;
?>
timeago.php
<?PHP
function time_ago($cur_time){
$time_ = time() - $cur_time;
$seconds =$time_;
$minutes = round($time_ / 60);
$hours = round($time_ / 3600);
$days = round($time_ / 86400);
$weeks = round($time_ / 604800);
$months = round($time_ / 2419200);
$years = round($time_ / 29030400);
//Seconds
if($seconds <= 60){
$time="$seconds seconds ago";
//Minutes
}else if($minutes <= 60){
if($minutes == 1){
$time="one minute ago";
}else{
$time="$minutes minutes ago";
}
//Hours
}else if($hours <= 24){
if($hours == 1){
$time="one hour ago";
}else{
$time="$hours hours ago";
}
//Days
}else if($days <= 7){
if($days == 1){
$time="one day ago";
}else{
$time="$days days ago";
}
//Weeks
}else if($weeks <= 4){
if($weeks == 1){
$time="one week ago";
}else{
$time="$weeks weeks ago";
}
//Months
}else if($months <= 12){
if($months == 1){
$time="one month ago";
}else{
$time="$months months ago";
}
//Years
}else{
if($year == 1){
$time="one year ago";
}else{
$time="$year years ago";
}
}
return $time;
}
?>
注意,由于英文跟中文的语法的习惯,中文的话,1年和2年是没复数的表示上的分别的,所以上面的代码自己适当改下就可以用了
相关文章推荐
- "超时时间已到。在操作完成之前超时时间已过或服务器未响应"的解决方法
- "超时时间已到。在操作完成之前超时时间已过或服务器未响应"的解决方法
- "超时间时间已到。在操作完成之前超时时间已过或服务器未响应"的解决办法
- "超时时间已到。在操作完成之前超时时间已过或服务器未响应"的解决方法
- "超时时间已到。在操作完成之前超时时间已过或服务器未响应"的解决方法
- "超时时间已到。在操作完成之前超时时间已过或服务器未响应"的解决方法
- PHP oci8连接oracle数据库出现"ORA-24408: could not generate unique server group name"的解决办法
- Swift NSDate的一个分类,把"Mon Apr 04 19:45:37 +0800 2016"这种格式的时间转换为"2016-04-04 11:45:37 +0000"
- 获取日期时间星期的"JAVASCRIPT代码"
- PHP date("Y-m-d H:i:s");获取当前时间 差8小时解决办法
- PHP异常: " Warning: Cannot modify header information - headers already sent by ...."
- 针对"不重新发送信息,则无法刷新网页。"的终极解决方法。(php&java范例)
- 【php】读取"文件列表"按时间倒序显示,并递归显示各层目录、!
- PHP正则中的"i,m,s,x,e"分别表示什么
- "买房不贷款 有贷提前还" 降息时代的"傻"做法
- <h1>读取配置文件失败</h1>这通常意味着文件中有语法错误,请检查下面显示出的错误。<br /><br /><iframe src="show_config_errors.php" />
- JSON 序列化和反序列化:将时间由"//Date(10000000000-0700)//" 格式转换成 "yyyy-MM-dd HH:mm:ss" 格式的字符串
- php把时间戳转换成多少时间之前函数
- <img src="img/captcha.php?nocache=<?php echo time(); ?>
- php 解决 json_encode 数据进入数据库 把"\" 去掉的问题