Javascript jQuery很久以前使用Twitter插件

Javascript jQuery很久以前使用Twitter插件,javascript,jquery,twitter,Javascript,Jquery,Twitter,我在某个论坛上找到了这个功能,我将它与tweet一起使用,以便在我的网站上显示我的最后一条tweet。不幸的是,它没有正确地把握时间。对于第一个小时,它说“不到一分钟前”,然后几个小时过去,它变为“不到一小时前”,然后两天过去,它变为“不到一天前”。我敢肯定这是个愚蠢的计算 function relTime(time_value) { time_value = time_value.replace(/(\+[0-9]{4}\s)/ig,""); var par

我在某个论坛上找到了这个功能,我将它与tweet一起使用,以便在我的网站上显示我的最后一条tweet。不幸的是,它没有正确地把握时间。对于第一个小时,它说“不到一分钟前”,然后几个小时过去,它变为“不到一小时前”,然后两天过去,它变为“不到一天前”。我敢肯定这是个愚蠢的计算

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';
         }
函数relTime(时间值){
时间值=时间值。替换(/(\+[0-9]{4}\s)/ig,“”;
var parsed_date=date.parse(time_值);
var relative_to=(arguments.length>1)?arguments[1]:new Date();
var timeago=parseInt((相对于.getTime()-parsed_日期)/1000);
如果(timeago<60)返回“不到一分钟前”;
否则,如果(timeago<120)返回“大约一分钟前”;
else if(timeago<(45*60))返回(parseInt(timeago/60)).toString()+'minutes ago';
否则如果(timeago<(90*60))返回“大约一小时前”;
else if(timeago<(24*60*60))返回'about'+(parseInt(timeago/3600)).toString()+'hours ago';
否则如果(timeago<(48*60*60))返回“1天前”;
else返回(parseInt(timeago/86400)).toString()+'days ago';
}
然后把它放在岗位上,就像这样:

if (defaults.time == true)
   $('li#tweet-'+i).append('<p class="created-date">'+relTime(item.created_at)+'</p>');
if(defaults.time==true)
$('li#tweet-'+i).append('

'+relTime(item.created_at)+'

');
任何帮助都将不胜感激。

我使用jQuery来实现您在这里所做的事情,它确实工作得非常好

你试过了吗?你有自己的理由吗?至少,你可以参考他们的来源

因此,您可以使用插件:

<abbr class="timeago" title="2008-07-17T09:24:17Z">July 17, 2008</abbr>
哦,当然你必须导入插件:

<script src="jquery.timeago.js" type="text/javascript"></script>


这在本地运行。item.created_看起来像什么?它在哪个时区?时区可能是关闭的吗?(即,服务器返回UTC时间,而客户端处于EST?

当时间超过一分钟时,它没有正确读取时间,因此不会切换到“5分钟前”。它停留在“不到一分钟前”,直到一小时过去,然后说“大约一小时前”。似乎没有计算分钟数。谢谢你的建议,但我只是想扩展Tweetable插件,而不是导入一个完整的其他插件来实现这一点。我有一个很好的开始,计算刚刚结束。
<script src="jquery.timeago.js" type="text/javascript"></script>