将elgg_get_friendly_time更改为javascript
我输入了这个$params = array('time' => $time);和return elgg_echo("friendlytime:justnow");
<?php
function elgg_get_friendly_time($time) {
// return a time string to short circuit normal time formatting
$params = array('time' => $time);
$result = elgg_trigger_plugin_hook('format', 'friendly:time', $params, NULL);
if ($result) {
return $result;
}
$diff = time() - (int)$time;
$minute = 60;
$hour = $minute * 60;
$day = $hour * 24;
if ($diff < $minute) {
return elgg_echo("friendlytime:justnow");
} else if ($diff < $hour) {
$diff = round($diff / $minute);
if ($diff == 0) {
$diff = 1;
}
if ($diff > 1) {
return elgg_echo("friendlytime:minutes", array($diff));
} else {
return elgg_echo("friendlytime:minutes:singular", array($diff));
}
} else if ($diff < $day) {
$diff = round($diff / $hour);
if ($diff == 0) {
$diff = 1;
}
if ($diff > 1) {
return elgg_echo("friendlytime:hours", array($diff));
} else {
return elgg_echo("friendlytime:hours:singular", array($diff));
}
} else {
$diff = round($diff / $day);
if ($diff == 0) {
$diff = 1;
}
if ($diff > 1) {
return elgg_echo("friendlytime:days", array(diff));
} else {
return elgg_echo("friendlytime:days:singular", array($diff));
}
}
}
?>发布于 2014-07-29 21:32:16
我在文档中查找了该函数:
http://reference.elgg.org/engine_2lib_2output_8php.html#aa008ab7b454c680f83ca7a62409c6ab5
它提醒了我,我有一些JS代码可以做类似的事情,这可能会对你有所帮助:
function get_friendly_date(date) {
var now = new Date();
var diff = Math.floor((now - date) / 1000); // seconds
var min = 60; // seconds
var hour = 3600; // seconds
var day = 86400; // seconds
var month = 30.5 * day; // seconds
months = Math.floor(diff / month);
if (months >= 1) return months + " months ago";
else {
days = Math.floor(diff / day);
if (days == 1) return days + " day ago";
else if (days > 1) return days + " days ago";
else {
hours = Math.floor(diff / hour);
if (hours == 1) return hours + " hour ago"
else if (hours > 1) return hours + " hours ago";
else {
mins = Math.floor(diff / min);
if (mins == 1) return mins + " min ago";
else if (mins > 1) return mins + " mins ago";
else {
return diff + " seconds ago";
}
}
}
}
}我把它放在一把小提琴里,你可以在这里摆弄:
http://jsfiddle.net/hM2LU/
希望这能有所帮助!
https://stackoverflow.com/questions/25016118
复制相似问题