2012-04-16 32 views
10

我在尋找一個PHP ,它生成用戶友好的時間表示 - 例如「時間前兩小時」時間戳爲time() - 2 * 3600用於生成用戶友好相對時間戳的PHP庫

有幾個存在問題的答案和博客文章(1,2,3),但都只包含代碼片段 - 不是我可以安裝和升級的庫。

Django has one,Python中也有一個standalone lib,JavaScript有幾個(123),太 - 哪裏是PHP庫?


庫應具有以下的事情:

  • 文檔
  • PEAR安裝
  • 定期發佈
  • (可選)翻譯
+0

如圖書館有什麼資格你的問題的背景? – hakre 2012-04-16 09:07:37

+0

任何不使用JavaScript庫的理由? – 2012-04-16 09:09:52

+2

我不想依賴javascript,因爲目標受衆羣體使用的瀏覽器如lynx。 – cweiske 2012-04-16 11:58:52

回答

1

Kohana的日期類提供fuzzy_span()方法這一點。但它不能回答你精確值,如「10分鐘」

0

試試這個代碼:

$current_date_time_get_updated_on_date_format = ''; 

function get_updated_on_date_format($dt_updated, $prefix = 'Updated ', $at = 'at ') { 
    global $current_date_time_get_updated_on_date_format; 

    if ($current_date_time_get_updated_on_date_format == '') { 
     $current_date_time_get_updated_on_date_format = now(); 
    } 

    $i_second_now   = strtotime($current_date_time_get_updated_on_date_format); 
    $i_second_dt_updated = strtotime($dt_updated); 
    $i_second_diff  = $i_second_now - $i_second_dt_updated; 
    $s_return_date_format = ''; 

    if ($i_second_diff < 0) { 
     // Developers Uploading Time, Time Zone Gap Patch 
     $s_return_date_format = $prefix . $at . date('g:ia \o\n F jS, Y', strtotime($dt_updated)); 
    } else if ($i_second_diff < 60) { 
     $s_return_date_format = $prefix . $i_second_diff . ' seconds ago '; 
    } elseif ($i_second_diff < (60 * 60)) { 
     $s_return_date_format = $prefix . round(($i_second_diff/60), 0) . ' minitues ago '; 
    } elseif ($i_second_diff < (60 * 60 * 24)) { 
     $s_return_date_format = $prefix . round(($i_second_diff/(60 * 60)), 0) . ' hours ago '; 
    } else { 
     $s_return_date_format = $prefix . $at . date('g:ia \o\n F jS, Y', strtotime($dt_updated)); 
    } 

    return $s_return_date_format; 

} 

function now() { 
    // it should extract database time in this format 'YYYY-MM-DD HH:MM:SS' 
    return mysql_now_value; 
} 
+2

我確實特別要求一個庫,而不是代碼片段。 – cweiske 2012-04-16 11:56:03