我希望更改指定日期的时间,我尝试使用以下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;
答案 0 :(得分:1)
我不熟悉日期函数,但我可以告诉你时间小于dstStart,这就是为什么hourOffset保持在3个。此外,月份是基于0的索引,而不是基于1。三月将是2,而九月将是8. http://jsfiddle.net/bFzny/4/这可能对你有所帮助。请记住,使用jsfiddle时,您不需要将代码括在标记中。