使用javascript更改指定日期的时间

时间:2012-03-29 20:40:15

标签: javascript jquery

我希望更改指定日期的时间,我尝试使用以下js代码,但在第11行中无效if...。我该怎么办?

var interval = self.setInterval("clock()", 1000);
function clock() {
    var date = new Date();
    var hourOffset = 3;
    date.setUTCHours(date.getUTCHours(), date.getUTCMinutes());
    var time = date.getTime();
    date.setUTCFullYear(date.getUTCFullYear(), 3, 21);
    var dstStart = date.getTime();
    date.setUTCFullYear(date.getUTCFullYear(), 9, 22);
    var dstEnd = date.getTime();
    if (time > dstStart && time < dstEnd) hourOffset = 4; // This is line 11
    date.setUTCHours(date.getUTCHours() + hourOffset, date.getUTCMinutes() + 30);
    var output = date.getUTCHours() + ":" + date.getUTCMinutes() + ":" + date.getUTCSeconds();
    document.getElementById("clock").innerHTML = output
}

我的意思是这条线不起作用:

if (time > dstStart && time < dstEnd) hourOffset = 4;

DEMO: http://jsfiddle.net/bFzny/

1 个答案:

答案 0 :(得分:1)

我不熟悉日期函数,但我可以告诉你时间小于dstStart,这就是为什么hourOffset保持在3个。此外,月份是基于0的索引,而不是基于1。三月将是2,而九月将是8. http://jsfiddle.net/bFzny/4/这可能对你有所帮助。请记住,使用jsfiddle时,您不需要将代码括在标记中。