0

最後のツイートを表示できるスクリプトがあります。

ツイートのテキスト、URL、ユーザー名、ツイート時間を表示することに成功しました。

しかし、ツイート時刻を過去に変換したい。

ここに私のスクリプト:

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;
}

私の英語でごめんなさい、私はフランス人です

4

1 に答える 1

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';
    }
}
于 2013-05-09T05:48:44.100 に答える