Bra*_*ady 15 javascript twitter datetime
我需要一些JS代码,它将created_at从Twitter提要中获取值并将其显示为xxxx之前.
我可以找到创建该xxxx ago位的示例,但不能找到将该created_at位转换为JS的正确格式的示例.
有没有人有一个功能可以做我想要的事情?
示例格式 Tue Apr 07 22:52:51 +0000 2009
无法使用,new Date(Date.parse("Tue Apr 07 22:52:51 +0000 2009"))因为它在IE中给出了无效的日期错误.
Onc*_*Tom 45
使用没有任何插件的moment.js这是您需要用来正确解析尴尬的Twitter日期的自定义格式:
var tweetDate = 'Mon Dec 02 23:45:49 +0000 2013';
moment(tweetDate, 'dd MMM DD HH:mm:ss ZZ YYYY', 'en');
Run Code Online (Sandbox Code Playgroud)
Bra*_*ady 28
从评论中,以及来自twitter小部件的一些代码是我提出的代码:
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;
}
// from http://widgets.twimg.com/j/1/widget.js
var K = function () {
var a = navigator.userAgent;
return {
ie: a.match(/MSIE\s([^;]*)/)
}
}();
Run Code Online (Sandbox Code Playgroud)
小智 5
这是Brady解决方案的法语翻译:
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 "à l'instant";}
if (diff < 20) {return "il y a " + diff + " secondes";}
if (diff < 40) {return "il y a une minute";}
if (diff < 60) {return "il y a moins d'une minute";}
if (diff <= 90) {return "il y a une minute";}
if (diff <= 3540) {return "il y a " + Math.round(diff / 60) + " minutes";}
if (diff <= 5400) {return "il y a 1 heure";}
if (diff <= 86400) {return "il y a " + Math.round(diff / 3600) + " heures";}
if (diff <= 129600) {return "il y a 1 jour";}
if (diff < 604800) {return "il y a " + Math.round(diff / 86400) + " jours";}
if (diff <= 777600) {return "il y a 1 semaine";}
return system_date;
}
// from http://widgets.twimg.com/j/1/widget.js
var K = function () {
var a = navigator.userAgent;
return {
ie: a.match(/MSIE\s([^;]*)/)
}
}();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17126 次 |
| 最近记录: |