您当前的位置: 首页 > 网站编程 > PHP教程 > php计算几分钟前、几小时前、几天前的几个函数、类分享

php计算几分钟前、几小时前、几天前的几个函数、类分享

作者:不详 来源:网络 发布时间: 2014-08-03 14:54 点击:
这篇文章主要介绍了php计算时间几分钟前、几小时前、几天前的几个函数、类分享,需要的朋友可以参考下 一、函数实现 实例1: 代码如下: function time_tran($the_time){ $now_time = date(Y-m-d H:i:s,time()+8*60*60); $now_time = strtotime($now_time); $show_time =

php计算几分钟前、几小时前、几天前的几个函数、类分享

  这篇文章主要介绍了php计算时间几分钟前、几小时前、几天前的几个函数、类分享,需要的朋友可以参考下

  一、函数实现

  实例1:

  代码如下:

  function time_tran($the_time){

  $now_time = date("Y-m-d H:i:s",time()+8*60*60);

  $now_time = strtotime($now_time);

  $show_time = strtotime($the_time);

  $dur = $now_time - $show_time;

  if($dur < 0){

  return $the_time;

  }else{

  if($dur < 60){

  return $dur.'秒前';

  }else{

  if($dur < 3600){

  return floor($dur/60).'分钟前';

  }else{

  if($dur < 86400){

  return floor($dur/3600).'小时前';

  }else{

  if($dur < 259200){//3天内

  return floor($dur/86400).'天前';

  }else{

  return $the_time;

  }

  }

  }

  实例2:

  代码如下:<?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.'前';

  }

  }

  }

  ?>

  实例3:

  代码如下:

  function formatTime($date) {

  $str = '';

  $timer = strtotime($date);

  $diff = $_SERVER['REQUEST_TIME'] - $timer;

  $day = floor($diff / 86400);

  $free = $diff % 86400;

  if($day > 0) {

  return $day."天前";

  }else{

  if($free>0){

  $hour = floor($free / 3600);

  $free = $free % 3600;

  if($hour>0){

  return $hour."小时前";

  }else{

  if($free>0){

  $min = floor($free / 60);

  $free = $free % 60;

  if($min>0){

  return $min."分钟前";

  }else{

  if($free>0){

  return $free."秒前";

  }else{

  return '刚刚';

  }

  }

  }else{

  return '刚刚';

  }

  }

  }else{

  return '刚刚';

  }

  }

  }

  实例4:

  代码如下:

  function time_tran($the_time){

  $now_time = date("Y-m-d H:i:s",time()+8*60*60);

  $now_time = strtotime($now_time);

  $show_time = strtotime($the_time);

  $dur = $now_time - $show_time;

  if($dur < 0){

  return $the_time;

  }else{

  if($dur < 60){

  return $dur.'秒前';

  }else{

  if($dur < 3600){

  return floor($dur/60).'分钟前';

  }else{

  if($dur < 86400){

  return floor($dur/3600).'小时前';

  }else{

  if($dur < 259200){//3天内

  return floor($dur/86400).'天前';

  }else{

  return $the_time;

  }

  }

  }

  }

  }

  }

  二、类的实现

  代码如下:<?php

  /*

  * author: Solon Ring

  * time: 2011-11-02

  * 发博时间计算(年,月,日,时,分,秒)

  * $createtime 可以是当前时间

  * $gettime 你要传进来的时间

  */

  class Mygettime{

  function __construct($createtime,$gettime) {

  $this->createtime = $createtime;

  $this->gettime = $gettime;

  }

  function getSeconds()

  {

  return $this->createtime-$this->gettime;

  }

  function getMinutes()

  {

  return ($this->createtime-$this->gettime)/(60);

  }

  function getHours()

  {

  return ($this->createtime-$this->gettime)/(60*60);

  }

  function getDay()

  {

  return ($this->createtime-$this->gettime)/(60*60*24);

  }

  function getMonth()

  {

  return ($this->createtime-$this->gettime)/(60*60*24*30);

  }

  function getYear()

  {

  return ($this->createtime-$this->gettime)/(60*60*24*30*12);

  }

  function index()

  {

  if($this->getYear() > 1)

  {

  if($this->getYear() > 2)

  {

  return date("Y-m-d",$this->gettime);

  exit();

  }

  return intval($this->getYear())." 年前";

  exit();

  }

  if($this->getMonth() > 1)

  {

  return intval($this->getMonth())." 月前";

  exit();

  }

  if($this->getDay() > 1)

  {

  return intval($this->getDay())." 天前";

  exit();

  }

  if($this->getHours() > 1)

  {

  return intval($this->getHours())." 小时前";

  exit();

  }

  if($this->getMinutes() > 1)

  {

  return intval($this->getMinutes())." 分钟前";

  exit();

  }

  if($this->getSeconds() > 1)

  {

  return intval($this->getSeconds()-1)." 秒前";

  exit();

  }

  }

  }

  //类的使用实例

  /*

  *

  * 调用类输出方式

  *

  * $a = new Mygettime(time(),strtotime('-25 month'));

  * echo iconv('utf-8', 'gb2312', $a->index())?iconv('utf-8', 'gb2312', $a->index()):iconv('utf-8', 'gb2312', '当前');

  *

  */
分享到:
本文"php计算几分钟前、几小时前、几天前的几个函数、类分享"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4