PHP library to generate user friendly relative timestamps
我正在寻找一个生成用户友好的时间表示的PHP库 - 例如"两小时前"时间戳为
答案和博客帖子(1,2,3)有几个现有的问题,但都只包含代码片段 - 而不是我可以安装和升级的库。
Django有一个,Python也有一个独立的lib,Javascript也有几个(1,2,3) - 哪里是PHP库?
库应该具有以下内容:
- 文件
- 梨可安装
- 定期发布
- (可选)翻译
由于似乎没有任何图书馆,我自己制作了一个并将它包含在PEAR中:
Date_HumanDiff,http://pear.php.net/package/Date_HumanDiff
代码位于http://github.com/pear/Date_HumanDiff
我知道Kohana有一个,你可以很容易地移植它。
该函数称为
见http://kohanaframework.org/3.3/guide-api/Date#fuzzy_span
Kohana Date类为此提供了
试试这段代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | $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 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 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; } |