我有一个允许显示最后一条推文的脚本。
我成功显示推文文字,网址,用户名和推文时间。
但是,我想在不久前改变推文时间。
这是我的剧本:
function parseDate(str) {
var v=str.split(' ');
return new Date(Date.parse(v[1]+" "+v[2]+", "+v[5]+" "+v[3]+" UTC"));
}
function loadLatestTweet(){
var _url = "https://api.twitter.com/1/statuses/user_timeline/"+tweeteraccount+".json?callback=?&count=1";
$.getJSON(_url,function(data){
var tweet = data[0].text;
var created = parseDate(data[0].created_at);
var createdDate = created.getDate()+'/'+(created.getMonth()+1)+'/'+created.getFullYear()+', '+created.getHours()+':'+created.getMinutes();
tweet = tweet.parseURL().parseUsername().parseHashtag();
tweet += '<br><div id="twitter-date">'+createdDate+'</div>'
$("#twitter").html(tweet);
});
}
我发现了一个允许转换时间的脚本,但我不知道如何将其添加到我的脚本中。如何将relative_time脚本集成到我的parseDate脚本
这里是前一段时间转换的脚本:
function relative_time(time_value) {
var values =time_value.split(" ");
time_value =values[1] + " " + values[2]+ ", " + values[5] +" "+ values[3];
var parsed_date = Date.parse(time_value);
var relative_to = (arguments.length> 1)? arguments[1] :newDate();
var delta =parseInt((relative_to.getTime()- parsed_date) /1000);
delta = delta + (relative_to.getTimezoneOffset()* 60);
var r = '';
if (delta <60) {
r = 'aminute ago';
} else if(delta < 120) {
r = 'couple of minutes ago';
} else if(delta < (45*60)) {
r = (parseInt(delta / 60)).toString()+ ' minutes ago';
} else if(delta < (90*60)) {
r = 'an hourago';
} else if(delta < (24*60*60)) {
r = ''+ (parseInt(delta / 3600)).toString() +' hoursago';
} else if(delta < (48*60*60)) {
r = '1day ago';
} else {
r = (parseInt(delta / 86400)).toString() +' days ago';
}
return r;
}
对不起我的英文,我是法国人
答案 0 :(得分:0)
这里我用于推文的时间
// Convert the tweet creation date/time to Twitter format
// This eliminates annoying server vs. browser time zone differences
function twitter_time($time) {
$delta = time() - strtotime($time);
if ($delta < 60) {
return 'less than a minute ago';
} else if ($delta < 120) {
return 'about a minute ago';
} else if ($delta < (45 * 60)) {
return floor($delta / 60) . ' minutes ago';
} else if ($delta < (90 * 60)) {
return 'about an hour ago.';
} else if ($delta < (24 * 60 * 60)) {
return floor($delta / 3600) . ' hours ago';
} else if ($delta < (48 * 60 * 60)) {
return '1 day ago';
} else {
return floor($delta / 86400) . ' days ago';
}
}