10

タイムスタンプが。の場合の「2時間前」など、ユーザーフレンドリーな時間表現を生成するPHPライブラリを探していtime() - 2 * 3600ます。

回答とブログ投稿( 1、2、3 )を含む既存の質問がいくつかありますがすべてに含まれているのはコードスニペットのみであり、インストールおよびアップグレードできるライブラリは含まれていません。

Djangoには1つ、Pythonにはスタンドアロンlibもあり、Javascriptにもいくつか(1、2、3 があります-PHPライブラリはどこにありますか?


ライブラリには次のものが必要です。

  • ドキュメンテーション
  • PEARインストール可能
  • 通常のリリース
  • (オプション)翻訳
4

4 に答える 4

7

ライブラリがないようだったので、自分で作成してPEARに含めました。

Date_HumanDiffhttp: //pear.php.net/package/Date_HumanDiff

コードはhttp://github.com/pear/Date_HumanDiffにあります

于 2012-04-17T11:46:50.433 に答える
3

コハナには1つあると思いますが、簡単に移植できます。

この関数はと呼ばれfuzzy_span()ます。

http://kohanaframework.org/3.3/guide-api/Date#fuzzy_spanを参照してください

于 2012-04-16T09:04:38.967 に答える
1

Kohana Dateクラスはfuzzy_span()、このためのメソッドを提供します。ただし、「10分」のような正確な値を返信することはできません

于 2012-04-16T09:07:12.340 に答える
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;
}
于 2012-04-16T09:13:41.137 に答える