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程序设计有所帮助。

(0)

相关推荐

  • 查看 MySQL 已经运行多长时间的方法

    一,uptime 可以查看系统的运行时间 show global status like 'uptime'; 二,利用linux命令查看 Linux 下有个 uptime 可以查看系统的运行时间,可是 MySQL 可没这个命令 不过用 ps 命令也可以做到 [root@dbserver ~]# ps aux | grep mysqlroot     29090  0.0  0.0  70232  1364 ?        S    Jun05   0:00 /bin/sh /usr/bin/m

  • 将时间以距今多久的形式表示,PHP,js双版本

    废话不多说直接上代码. PHP FOR Smarty 复制代码 代码如下: * Name: time_ago * Purpose: 将时间戳专为距当前时间的表现形式 * 1分钟内按秒 * 1小时内按分钟显示 * 1天内按时分显示 * 3天内以昨天,前天显示 * 超过3天显示具体日期 * * @author Peter Pan * @param int $time input int */ function smarty_modifier_time_ago($time) { $time_deff

  • 离22周岁距离多长时间的计算[适合没到22周岁的朋友]

    嘿嘿不是很精确,懂的朋友就不要笑话本人了.虽然我想做的很精确,但算法太过繁琐,所以就用个简单省事的了. 复制代码 代码如下: <script language="JavaScript"> /* screen.availWidth = 屏幕工作区宽 screen.availHeight = 屏幕工作区高 */ var wWidth = screen.availWidth-(screen.availWidth-370+78)-100; var wHeight = 20; var

  • iOS计算上次日期距离现在多久的代码

    本文实例为大家分享了iOS上次日期距离现在多久的计算代码,供大家参考,具体内容如下 /** * 计算上次日期距离现在多久 * * @param lastTime 上次日期(需要和格式对应) * @param format1 上次日期格式 * @param currentTime 最近日期(需要和格式对应) * @param format2 最近日期格式 * * @return xx分钟前.xx小时前.xx天前 */ + (NSString *)timeIntervalFromLastTime:(

  • win2003或linux服务器一般多久重启一次

    win2003 server服务器多久重启一次 得根据服务器的负载量来确定,数据量大的话,每次启动时间间隔就需要短些,反之就可以长一些.如果机器维护的比较好,启动时间间隔也可以延长些,只要客户访问速度不慢就好. 在服务器没有问题的情况下: Windows 2003系统的内存管理已经改进的很大了 一般半个月~两个月重新启动一次就可以了. Linux 需要重新启动的时间间隔就可以比较长了.一般3个月到5个月. 这些都得根据你的实际使用情况来看,如果客户访问速度慢了,或者服务器出问题了.就需要重新启动

  • 如何计算下载一个文件需要多长时间?

    <%Function DownloadTime(intFileSize, strModemType)Dim TimeInSeconds, ModemSpeed, strDownloadTime, AppendStringDim intYears, intWeeks, intDaysDim intHours, intMinutes, intSecondsintYears = 0intWeeks = 0intDays = 0intHours = 0intMinutes = 0intSeconds =

  • javascript实现的距离现在多长时间后的一个格式化的日期

    复制代码 代码如下: /** * * 返回一个距离现在多长时间后的一个格式化的日期,如2009年9月5日 14:15:23 * 如:现在时间是2009年9月5日 14:15:23 timeLong=10秒 那么返回:2009年9月5日 14:15:33 * * @param int timeLong 一个 * @param String formatString YYYY-MM-DD hh:mm:ss * */ function getOneFormatDate(timeLong,formatS

  • 常见浏览器多长时间会提示“脚本运行时间过长”总结

    现在的web,影响用户访问速度已经不单单是文件下载的速度了,当所有的文件从服务器上下载后,从浏览器开始渲染到用户可以响应的时间,这段时间仍然会消耗很长,同时由于交互的复杂,javascript也变得越来越多,越来越复杂,脚本运行的时间反映在界面上就是响应用户输入点击的过慢,甚至浏览器出现脚本超时的提示. 这篇文件并不打算讲怎么避免这种超时以及javascript的优化技巧,单说各种浏览器的忍耐极限,下面是Nicholas C. Zakas总结的数据 Chrome:执行超过8秒提示.IE:执行超过

  • 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('/

  • java采用中文方式显示时间的方法

    本文实例讲述了java采用中文方式显示时间的方法.分享给大家供大家参考.具体如下: 其中t为秒,比如有时候需要计算两个任务相差多久,或者该任务何时结束或者某个任务间隔多久重新启动等适用于本方法.如果是微秒,自己先/1000 private static String chinese_period(int t){ int y, n, d, h, m, s; String time; if(t<=0) return "立即"; s = t % 60; t /= 60; m = t %

  • 关于Django显示时间你应该知道的一些问题

    UTC与DST UTC可以视为一个世界统一的时间,以原子时为基础,其他时区的时间都是在这个基础上增加或减少的,比如中国的时区就为UTC+8. DST(夏时制)则是为了充分利用夏天日照长的特点,充分利用光照节约能源而人为调整时间的一种机制.通过在夏天将时间向前加一小时,使人们早睡早起节约能源.虽然很多西方国家都采用了DST,但是中国不采用DST. 1. 时区问题 首先是时区的问题,Django 默认使用的是 UTC 世界协调时,又叫世界统一时间.中国的时间与 UTC 的时差是+8小时,也就是中国时

  • PHP实现时间日期友好显示实现代码

    系统的友好性在开发过程中是非常重要的,一个系统非常友好不光可以带给用户非常棒的使用体验,而且还可以使系统有这更长的寿命.今天这篇博文主要来展示一个我们如何让日期时间更加友好的显示. 下面就是使时间日期友好显示的代码:核心代码 <?php /** * ======================================= * Created by Zhihua_W. * Author: Zhihua_W * Date: 2016/11/23 0001 * Time: 下午 5:45 * P

  • android自定义Toast设定显示时间

    开发android的同学可能会抱怨Toast设定显示的时长无效,只能是Toast.LENGTH_LONG 或者Toast.LENGTH_SHORT 之一,为了解决这些办法,有多种实现方式: 1.使用定时器,定时调用show()方法. 2.使用CountDownTimer类,也是调用show()方法. 3.使用WindownManager类实现. 本文使用方法三进行实现,难度不大,直接看代码吧. package com.open.toast; import android.content.Cont

  • Android Toast自定义显示时间

    Toast是Android中使用频率较高的弹窗提示手段,使用起来简单.方便.常规使用方法这里不做说明,继前一篇博客<Android中Toast全屏显示> ,其中抛砖引玉的给出一个简单的实现Toast全屏显示的方法后,发现无法控制Toast的显示时长.虽然Toast中有setDuration(int duration)接口,但是跟踪代码发现,设置的时间没起作用,只有系统默认的两个时间LENGTH_DURATION = 3500毫秒,SHORT_DURATION = 2000毫秒.也就是说,无论我

  • Android 自定义缩短Toast显示时间的实例代码

    我这个主要是缩短Toast显示时间,要延长时间的话,可自行更改 废话不多说哈,见代码 import android.content.Context; import android.os.CountDownTimer; import android.util.Log; import android.widget.Toast; public class ToastUtil { private String TAG = "ToastUtil"; private Toast mToast; p

  • 一段时间以后切换显示的广告代码 原创

    先显示广告a,一段时间以后显示广告代码b,然后就一直显示广告b 一段时间以后切换的广告显示代码 a部分内容 b部分内容 var s=5000; //5000毫秒就是5秒 function showb(){ document.getElementById('a').style.display='none'; document.getElementById('b').style.display='block'; } window.setInterval("showb()",s) [Ctrl

  • Docker 解决获取容器获取的时间不是本地时间的问题

    docker 获取容器获取的时间出错问题解决: 在使用Docker部署网站的时候,无意间发现容器里面的时间竟然是美国时间,被雷到了,不过解决办法也很简单,有两种办法 1.重新启动一个容器,加上如下参数,即可使用宿主机时间 $ -v /etc/localtime:/etc/localtime:ro # docker run -d -v /etc/localtime:/etc/localtime:ro [image] 2.假如,你不想重新启动,或者不能重新启动,也没关系,可以直接把文件复制到容器内,

  • ASP.NET网站实时显示时间的方法

    本文实例讲述了ASP.NET网站实时显示时间的方法.分享给大家供大家参考.具体方法如下: 在ASP.NET环境中开发设计网站或网络应用程序时,往往需要实时显示当前日期和时间.这时,通常使用AJAX控件来实现. 需要注意的是,在.NET Framework 2.0版本中,工具箱中是没有AJAX Extensions控件的.而.NET Framework 3.5版本中集成了AJAX. ASP.NET AJAX包括三部分: ①一个扩展客户端JavaScript功能的客户端库或框架: ②一个允许ASP.

随机推荐