2010-02-09 132 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