• 将时间差转换为字符串提示


    简介:这是将时间差转换为字符串提示的详细页面,介绍了和php,有关的知识、技巧、经验,和一些php源码等。

    class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=343079' scrolling='no'>

    通过传入数据库中存储的文章发表时的UNIX时间戳,来转化为例如 几分钟前,几小时前,几天前 这样的提示。如微博

     这看起来更加人性化,好吧,上代码

     1 <?php
    2 class timeAgo
    3 {
    4 static $timeagoObject;
    5 private $rustle;
    6 private $unit;
    7
    8 private function __construct()
    9 {
    10
    11 }
    12 private function __clone(){ }
    13 public static function getObject()
    14 {
    15 if(! (self::$timeagoObject instanceof self) )
    16 self::$timeagoObject = new timeAgo();
    17
    18 return self::$timeagoObject;
    19 }
    20 private function count_int($unix_C) // main function
    21 {
    22 if(! (isset($unix_C) || is_numeric($unix_C)) )
    23 return 'don\'t find parameter';
    24
    25 $d = time()-$unix_C ; // $d - unix time difference value
    26 $d_int =(int)floor($d/60) ; // minimum unit -- minutes unix/60
    27
    28 $this->unit = 0 ; // is minutes,hour or day?
    29
    30 if($d_int < 60){ // minutes in one hour 3600
    31 $this->rustle = $d_int;
    32 $this->unit = 1;
    33 }
    34 else if($d_int < 720){ //hour in one day 3600*12
    35 $this->rustle = floor($d_int/60);
    36 $this->unit = 2 ;
    37 }
    38 else if($d_int < 7200){ //day in ten days 3600*12*10
    39 $this->rustle = floor($d_int/720);
    40 $this->unit = 3 ;
    41 }
    42 else{
    43 $this->rustle = $d ;
    44 $this->unit = 4 ;
    45 }
    46 }
    47 public function piece_str($C)
    48 {
    49 $this->count_int($C);
    50
    51 $u = '';
    52 switch( $this->unit )
    53 {
    54 case 1:
    55 $u = 'minute';
    56 break;
    57 case 2:
    58 $u = 'hour';
    59 break;
    60 case 3:
    61 $u = 'day';
    62 break;
    63 case 4:
    64 $u = '';
    65 break;
    66 case 0:
    67 return 'sorry , get time is fail';
    68 }
    69 if($this->unit < 4)
    70 {
    71 if($this->rustle > 1)
    72 return (string)$this->rustle.$u.'s ago';
    73 else if($this->rustle == 1)
    74 return (string)$this->rustle.$u.'ago';
    75 else
    76 return 'Just now';
    77 }
    78 }
    79 /* example: $ago = timeAgo::getObject();
    80 * echo $ago->piece_str($unix);
    81 * // 2 days ago
    82 */
    83 }
    84 ?>

      

    爱J2EE关注Java迈克尔杰克逊视频站JSON在线工具

    http://biancheng.dnbcw.info/php/343079.html pageNo:6
  • 相关阅读:
    解决win10家庭版打不开组策略gpedit.msc
    Centos7上安装配置Redis
    Typora配置图片自动上传到图床
    SSM静态资源访问不了问题
    SSM整合
    opencv基础学习 小知识--绘图+小实战训练
    opencv基础学习详细笔记【1】--读取并显示图片
    Scikit-Learn 源码研读 (第二期)基类的实现细节
    Scikit-Learn 源码研读 (第一期)项目结构介绍
    在Win10上搭建fastai课程环境
  • 原文地址:https://www.cnblogs.com/ooooo/p/2243863.html
Copyright © 2020-2023  润新知