2009-09-07 87 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

相关问题