2010-02-09 130 views
1

我有一个博客。定期我发布一些有趣的事情。我保留响应时间的时间戳。我如何显示如下所示的时间?显示日期和时间像博客

  • 2010-02-09前1小时,如果回答是只需1个小时前老

  • 2010-02-0920小时,如果回答是只有20小时前的

  • 2010-02-08昨日,如果回答是只有1日龄

  • 2010-02-04 17:20如果回答是一两天的

我在数据库中维护时间戳为Unix time。例如我的时间戳是1265709142.

这怎么可以用PHP实现?

+0

我解决了这个问题。请参阅[此链接](http://www.9lessons.info/2010/01/php-time-stamp-function.html)。 – Bharanikumar 2010-02-09 14:30:51

回答

2

我确定有基于PHP的方法,我有兴趣看到一些,但也有一个名为Pretty Date的基于jQuery的插件。我认为Stack Overflow使用它。

它当然取决于在用户浏览器中被激活的JavaScript,但是当JavaScript关闭时会优雅地退化。另外,在搜索引擎中,真正的日期是索引的,而不是格式化的日期 - 一个小但不错的加号。

1

最好的办法是根据ISO来格式化时间, 2008-07-17T09:24:17Z

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

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

3
$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 
+0

对于美元的时间,我必须解析...时间戳意味着当前时间戳? – Bharanikumar 2010-02-09 13:20:46

+0

大家好我的解决方案在php – Bharanikumar 2010-02-09 13:21:31

+0

如何找到时间戳是两天, 多少时间戳一天 – Bharanikumar 2010-02-09 13:24:23