2012-03-29 9 views
0

指定した日付に時刻を変更したい場合は、次のようにjsコードを試してみましたが、行番号11でif...が機能しません。私が意味する指定した日付の時刻をjavacriptで変更します

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

私は日付関数に慣れていないんだけど、私時間がdstStartよりも小さいことを伝えることができます。これはhourOffsetが3にとどまっている理由です。また、月は0ベースのインデックスであり、1ベースではありません。 3月は2、9月は8となります。http://jsfiddle.net/bFzny/4/これはあなたを助けるかもしれません。 jsfiddleを使用する場合、コードをタグで囲む必要はありません。

関連する問題