如何使用jQuery创建时区?

时间:2011-08-11 19:24:37

标签: javascript jquery

如何创建一个用jQuery显示秒数的本地时间(time zone -> UTC + 3:30)? 我不想使用插件,而更喜欢短代码。

我不使用以下示例,因为它获取系统时间并且是在javascript中。这只是我想要的一个例子 javascript的示例http://jsfiddle.net/HZmPg/

编辑:您对此代码有何看法?

$(document).ready(function(){
  var timezone = "Europe/Berlin";
  $.getJSON("http://json-time.appspot.com/time.json?tz="+timezone+"&callback=?",
    function(data){
      if (data.hour < 12) {
        alert ("Good morning in "+timezone);
      } else {
        alert ("Good afternoon in "+timezone);
      }
    })
});

如果使用jQuery无法做到这一点,那么解决方案是什么?

1 个答案:

答案 0 :(得分:0)

您可以将此功能设为回调

function getTime(timezone, callback) {
        $.getJSON("http://json-time.appspot.com/time.json", {
            tz: timezone,
            callback: '?'
        },
        callback);
    });
}

$(document).ready(function(){
    var timezone = "Europe/Berlin",
        hello = function (time) {
            if (time.hour < 12) {
                alert ("Good morning in "+ timezone);
            } else {
                alert ("Good afternoon in "+ timezone);
            }
        };
    getTime(timezone, hello);
}

或者您可以使用延迟对象作为清理的承诺:

function getTime(timezone) {
    return $.getJSON("http://json-time.appspot.com/time.json?tz="+timezone+"&callback=?").promise();
}


$(document).ready(function(){
    var timezone = "Europe/Berlin",
        hello = function (time) {
            if (time.hour < 12) {
                alert ("Good morning in "+ timezone);
            } else {
                alert ("Good afternoon in "+ timezone);
            }
        };
    getTime(timezone).done(hello);
});