代码之家  ›  专栏  ›  技术社区  ›  Petras

显示日期和时间,如博客

php
  •  1
  • Petras  · 技术社区  · 7 年前

    我有一个博客。我经常贴一些有趣的东西。我维护响应时间的时间戳。我如何显示时间,如下所示?

    • 2010-02-09 1小时前,如果回复时间只有1小时

    • 2010-02-09 20小时前,如果回复时间只有20小时

    • 2010-02-08昨天,如果答复只有一天时间

    • 2010-02-04 17:20,如果答复是几天前

    我将数据库中的时间戳作为 Unix time . 例如,我的时间戳是1265709142。

    如何用PHP实现这一点?

    4 回复  |  直到 15 年前
        1
  •  1
  •   Houda Jimmie R. Houts    15 年前

    有一个javascript库用于: http://tpgblog.com/cutetime/ . 只需以某种格式打印日期,并将javascript库添加到页面中。完成。

        2
  •  3
  •   Justin    16 年前
    $d = time() - $timestamp;
    if ($d < 60)
        return $d." second".(($d==1)?'':'s')." ago";
    else
    {
        $d = floor($d / 60);
        if($d < 60)
            return $d." minute".(($d==1)?'':'s')." ago";
        else
        {
            $d = floor($d / 60);
            if($d < 24)
                return $d." hour".(($d==1)?'':'s')." ago";
            else
            {
                $d = floor($d / 24);
                if($d < 7)
                    return $d." day".(($d==1)?'':'s')." ago";
                else
                {
                    $d = floor($d / 7);
                    if($d < 4)
                        return $d." week".(($d==1)?'':'s')." ago";
                }//Week
            }//Day
        }//Hour
    }//Minute
    
        3
  •  2
  •   Pekka 웃    15 年前

    我确信有一些基于PHP的方法可以解决这个问题,我想看看其中的一些方法,但是也有一个基于jquery的插件,名为 Pretty Date .我认为堆栈溢出使用这个。

    当然,这取决于在用户浏览器中激活的javascript,但是当javascript关闭时,它会优雅地降级。另外,在搜索引擎中,实际日期是被索引的,而不是格式化的日期——一个小而漂亮的加号。

        4
  •  1
  •   mnemosyn    16 年前

    最好的办法是根据ISO格式化时间,例如2008-07-17t09:24:17z

    <?php 
      $DateOfRequest = date("Y-m-dTH:i:s", $timestamp); 
    ?> 
    

    然后,使用 http://timeago.yarp.com/ 注入类似“2小时前”的格式字符串。

    推荐文章