【发布时间】:2011-04-12 16:24:59
【问题描述】:
我在某个论坛上发现了这个功能,我正在使用它与 Tweetable 一起在我的网站上显示我的最后一条推文。不幸的是,它没有正确地抓住时间。第一个小时,它说“不到一分钟前”,然后几个小时过去了,它变成了“不到一个小时前”,然后两天过去了,它变成了“不到一天前”。我敢肯定它的计算很愚蠢。
function relTime(time_value) {
time_value = time_value.replace(/(\+[0-9]{4}\s)/ig,"");
var parsed_date = Date.parse(time_value);
var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
var timeago = parseInt((relative_to.getTime() - parsed_date) / 1000);
if (timeago < 60) return 'less than a minute ago';
else if(timeago < 120) return 'about a minute ago';
else if(timeago < (45*60)) return (parseInt(timeago / 60)).toString() + ' minutes ago';
else if(timeago < (90*60)) return 'about an hour ago';
else if(timeago < (24*60*60)) return 'about ' + (parseInt(timeago / 3600)).toString() + ' hours ago';
else if(timeago < (48*60*60)) return '1 day ago';
else return (parseInt(timeago / 86400)).toString() + ' days ago';
}
然后将其放入帖子中:
if (defaults.time == true)
$('li#tweet-'+i).append('<p class="created-date">'+relTime(item.created_at)+'</p>');
任何帮助将不胜感激。
【问题讨论】:
标签: javascript jquery twitter