2009-09-07 131 views
2

我可以使用下面的JavaScript在我的網站上顯示我的推文。在我的網站上使用我的時區顯示推文

window.onload = function() { 
    var siteName = 'xyz'; 
    $.getJSON(
     'http://search.twitter.com/search.json?callback=?&rpp=20&q=from:' + siteName, 
     function(data) { 
      $.each(data, function(i, tweets) { 
       for (var num = 0, len = tweets.length; num < len; num++) { 
        if (tweets[num].text !== undefined) { 
         $('ul#tweets').append('<li><b>' + tweets[num].created_at.substring(0, 16) + 
          ':</b> ' + tweets[num].text + '</li>'); 
        } 
       } 
      }); 
     } 
    ); 
}; 

這會在美國時間顯示推文。是否可以在新西蘭時間顯示推文?

回答

1

我找到了一個簡單的解決方案,我的問題。只需創建一個新的Date對象(var tim = new Date(tweets [num] .created_at))就完成了。以下是在我的時區顯示推文日期和時間的代碼。

window.onload = function() { 
    var siteName = 'xyz'; 
    $.getJSON(
     'http://search.twitter.com/search.json?callback=?&rpp=20&q=from:' + siteName, 
     function(data) { 
      $.each(data, function(i, tweets) { 
       for (var num = 0, len = tweets.length; num < len; num++) { 
        if (tweets[num].text !== undefined) { 
         var tim = new Date(tweets[num].created_at); 
         $('ul#tweets').append('<li><b>' + tim.toString().substring(0, 24) + ':</b> ' + tweets[num].text + '</li>'); 
        } 
       } 
      }); 
     } 
    ); 
}; 

我想,VAR恬=新的數據(微博[NUM] .created_at)構造正在從鳴叫日[NUM] .created_at並將其轉換爲本地時區(我的機器時間),並構建新對象tim。所以新對象tim有本地時間。 任何人都可以請我指向Date(dateString)構造函數的文檔。

0

是的。您可以更改時區。

下面的js代碼片段是從Twitter的網站上找到的。

function changetimezone(time_value, tz){ 
    if(!tz){ 
    tz = 0; 
    } 
    var values = time_value.split(" "); 
    time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3]; 
    var t = parseInt(Date.parse(time_value))/1000; 

    return t + tz * 60; 
} 

因此,只需使用created_at和您的相對時區來分析changetimezone即可。

例如changetimezone(鳴叫[NUM] .created_at,12); + 1200hrs是新西蘭的時區。

至於Twitter的回報,實際上不是美國時間。這是GMT + 0(倫敦時間)。所以你可以安全地把12小時,而不是20.

+0

嗨!我試着實現你的代碼,並且理解它背後的邏輯,但是由changetimezone()方法返回的值似乎存在一些問題。 謝謝 – kobra 2009-09-08 20:37:55

相關問題