我正在寻找能够生成用户友好的时间表示的PHP 库 - 例如“两小时前”时间戳为time() - 2 * 3600
。
答案和博客文章(1,2,3)有几个现有问题,但所有问题都只包含代码段 - 而不是我可以安装和升级的库。< / p>
Django has one,Python也有standalone lib,Javascript也有几个(1,2,3) - PHP库在哪里?
图书馆应该具备以下内容:
答案 0 :(得分:7)
由于似乎没有任何图书馆,我自己制作了一个图书馆,并把它包含在PEAR中:
Date_HumanDiff ,http://pear.php.net/package/Date_HumanDiff
答案 1 :(得分:3)
我知道Kohana有一个,你可以轻松移植它。
该函数名为fuzzy_span()
。
答案 2 :(得分:1)
Kohana Date类为此提供了fuzzy_span()
方法。但它无法回复你的确切值,如“10分钟”
答案 3 :(得分: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;
}