php实现用已经过去多长时间的方式显示时间

yipeiwu_com7年前PHP代码库

本文实例讲述了php用已经过去多长时间的方式显示时间的方法。分享给大家供大家参考。具体如下:

这里以一种可读性比较好的方式显示已经过去多长时间,比如:距离现在10秒,距离现在1天等等。

function time_is_older_than($t, $check_time){
  $t = strtolower($t);
  $time_type = substr(preg_replace('/[^a-z]/', '', $t), 0, 1);
  $val = intval(preg_replace('/[^0-9]/', '', $t));
  $ts = 0;
  // (s)econds, (m)inutes, (d)ays, (y)ears
  if ($time_type == 's'){ $ts = $val; }
  else if ($time_type == 'm'){ $ts = $val * 60; }
  else if ($time_type == 'h'){ $ts = $val * 60 * 60; }
  else if ($time_type == 'd'){ $ts = $val * 60 * 60 * 24; }
  else if ($time_type == 'y'){ $ts = $val * 60 * 60 * 24 * 365; }
  else { die('Unknown time format given!'); }
  if ($check_time < (time()-$ts)){ return true; }
  return false;
}

//使用范例:
// timestamp to test: 
// (could be from an database or something else)
$time = 1146722922;
// long if check:
if (time_is_older_than('30m', $time)){
  print 'The given timestamp: ' . date('l dS \of F Y h:i:s A',$time);
  print " - is older than 30 minutes<br/>\n";
}
else {
  print 'The given timestamp: ' . date('l dS \of F Y h:i:s A',$time);
  print " - is NOT older than 30 minutes<br/>\n";
}
// short checks:
if (time_is_older_than('10s', $time)){ print "Is older than 10 seconds<br/>\n"; }
if (time_is_older_than('200m', $time)){ print "Is older than 200 minutes<br/>\n"; }
if (time_is_older_than('2h', $time)){ print "Is older than 2 hours<br/>\n"; }
if (time_is_older_than('4d', $time)){ print "Is older than 4 days<br/>\n"; }
if (time_is_older_than('1y', $time)){ print "Is older than one year<br/>\n"; }

希望本文所述对大家的php程序设计有所帮助。

相关文章

require(),include(),require_once()和include_once()的异同

require()和include()有许多相似之处,也有些不同。理解它们的不同点非常重要,否则很容易犯错误。  我把这两个语句放在一起介绍,读者可以比较学习。  1...

php读取flash文件高宽帧数背景颜色的方法

本文实例讲述了php读取flash文件高宽帧数背景颜色的方法。分享给大家供大家参考。 具体实现方法如下: 复制代码 代码如下:<?php /* 示例:  ...

php错误级别的设置方法

PHP在运行时, 针对严重程度不同的错误,会给以不同的提示。 eg:在$a没声明时,直接相加,值为NULL,相加时当成0来算.但是,却提示NOTICE,即注意. 我们在开发中, 为了程序...

解析数组非数字键名引号的必要性

我看到过很多人操作数组的时候, 对于数组中的非数字键名不使用引号复制代码 代码如下:  $array[key] = $value;我可以理解有些人可能会觉得这样的代码...

php函数array_merge用法一例(合并同类数组)

复制代码 代码如下:$arr1 = $dblink->mem_fetch_array ( "SELECT t_pid,imgname,invented,score FROM `t_...