所以,我有一些麻烦找到解决这个问题的方法。我知道这看起来很傻,但我真的坚持这个。
我有类似的东西:
<div class="tdate">
Sat Oct 11 01:11:01 +0000 2014
</div>
<div class="tdate">
Sat Oct 11 01:10:44 +0000 2014
</div>
<div class="tdate">
Sat Oct 11 00:51:03 +0000 2014
</div>
这个javascript函数:
function parseTwitterDate(tdate) {
var system_date = new Date(Date.parse(tdate));
var user_date = new Date();
if (K.ie) {
system_date = Date.parse(tdate.replace(/( \+)/, ' UTC$1'))
}
var diff = Math.floor((user_date - system_date) / 1000);
if (diff <= 1) {return "just now";}
if (diff < 20) {return diff + " seconds ago";}
if (diff < 40) {return "half a minute ago";}
if (diff < 60) {return "less than a minute ago";}
if (diff <= 90) {return "one minute ago";}
if (diff <= 3540) {return Math.round(diff / 60) + " minutes ago";}
if (diff <= 5400) {return "1 hour ago";}
if (diff <= 86400) {return Math.round(diff / 3600) + " hours ago";}
if (diff <= 129600) {return "1 day ago";}
if (diff < 604800) {return Math.round(diff / 86400) + " days ago";}
if (diff <= 777600) {return "1 week ago";}
return "on " + system_date;
}
var K = function () {
var a = navigator.userAgent;
return {
ie: a.match(/MSIE\s([^;]*)/)
}
}();
我尝试做的是将所有.tdate更改为新格式(这是我的javascript所做的)。但我不知道如何调用此函数来更改所有不同的.tdate。 如果我打电话给parseTwitterDate(&#34; Sat Oct 11 00:51:03 +0000 2014&#34;),它会起作用,但只有一次。
基本上,我希望以这种格式在我的页面上看到所有日期:&#34; Sat Oct 11 01:11:01 +0000 2014&#34;改为:&#34; 47分钟前&#34; (或输出的任何东西)。但我不知道如何调用函数parseTwitterDate(tdate)。
很抱歉我的解释非常糟糕。如果我不能让自己足够清楚,请告诉我。
非常感谢能帮助我的人。
非常感谢! :)
答案 0 :(得分:1)
由于您使用的是JQuery(或者至少使用了JQuery标记),您可以执行此操作
$(function () {
$('.tdate').each(function (index, value) {
$(value).html(parseTwitterDate(($(value).html())))
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="tdate">
Sat Oct 11 01:11:01 +0000 2014
</div>
<div class="tdate">
Sat Oct 11 01:10:44 +0000 2014
</div>
<div class="tdate">
Sat Oct 11 00:51:03 +0000 2014
</div>
答案 1 :(得分:0)
Wadup!将其添加到您的javascript文件中。
...
[].forEach.call(document.getElementsByClassName("tdate"), function(tdate) {
tdate.innerHTML = parseTwitterDate(tdate.innerHTML);
});
答案 2 :(得分:0)
$('.tdate').each(function() {
$(this).text(parseTwitterDate($(this).text()));
});