我在想如果有人知道我怎麼能解析這種日期格式:2010-07-26T18:02:46 + 0000js格式的相對時間函數YYYY-MM-DDTHH:MM:SS + 0000
進入相對時間,如「30.秒前」
我已經有一個函數,它會爲一個類似但不同的時間格式:
function relative_time(time_value, is_relative) {
var values = time_value.split(" "),
parsed_date = Date.parse(values[1] + " " + values[2] + ", " + values[5] + " " + values[3] + " UTC"),
date = new Date(parsed_date),
relative_to = new Date(),
r = '',
delta = parseInt((relative_to.getTime() - date.getTime())/1000);
var seconds = {
'from' : {
'minutes' : function(v) { return v * 60; },
'hours' : function(v) { return this.minutes(v) * 60; },
'days' : function(v) { return this.hours(v) * 24; },
'weeks' : function(v) { return this.days(v) * 7; },
'months' : function(v) { return this.weeks(v) * 4.34812141; },
'years' : function(v) { return this.months(v) * 12; }
},
'to' : {
'minutes' : function(v) { return v/60; },
'hours' : function(v) { return this.minutes(v)/60; },
'days' : function(v) { return this.hours(v)/24; },
'weeks' : function(v) { return this.days(v)/7; },
'months' : function(v) { return this.weeks(v)/4.34812141; },
'years' : function(v) { return this.months(v)/12; }
}
};
if (!is_relative)
return formatTime(date) + ' ' + formatDate(date);
if (delta < 30)
return 'less than a minute ago';
var minutes = parseInt(seconds.to.minutes(delta)+0.5);
if (minutes <= 1)
return 'about a minute ago';
var hours = parseInt(seconds.to.hours(delta)+0.5);
if (hours < 1)
return minutes + ' minutes ago';
if (hours == 1)
return 'about an hour ago';
var days = parseInt(seconds.to.days(delta)+0.5);
if (days < 1)
return hours + ' hours ago';
if (days==1)
return formatTime(date) + ' yesterday';
var weeks = parseInt(seconds.to.weeks(delta)+0.5);
if (weeks < 2)
return formatTime(date) + ' ' + days + ' days ago';
var months = parseInt(seconds.to.months(delta)+0.5);
if (months < 2)
return weeks + ' weeks ago';
var years = parseInt(seconds.to.years(delta)+0.5);
if (years < 2)
return months + ' months ago';
return years + ' years ago';
function formatTime(date) {
var hour = date.getHours(),
min = date.getMinutes() + "",
ampm = 'AM';
if (hour >= 12) ampm = 'PM';
if (hour > 12) hour -= 12;
if (min.length == 1) {
min = '0' + min;
}
return hour + ':' + min + ' ' + ampm;
}
};
格式此功能將是:週五2006年11月02:53:43 +0000
如何更改此腳本以使用新的時間格式?在這個階段,這有點超出我的想法,我渴望學習。
謝謝
我聞twitterjs代碼。 – 2010-07-28 01:40:02
是的,它當然是,我做了一個插件嘰嘰喳喳和使用它的功能,現在我正在爲我的網站我的facebook插件工作! – 2010-07-28 01:46:27
這是一種破碎的問題,在谷歌代碼項目中檢查第10個問題......「某人」已經修復了這個問題,顯然是爲了原作者的懊惱。 http://code.google.com/p/twitterjs/issues/detail?id=10 – 2010-07-28 01:48:02