2012-03-29 10 views
0

Ich möchte die Zeit an einem bestimmten Datum ändern, ich habe versucht, wie folgt Js Code, aber funktioniert nicht if... in Zeile 11. Was mache ich?Ändern Sie die Uhrzeit an einem bestimmten Datum mit Javascript

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 
} 

ich meine, ist diese Linie, die nicht funktioniert:

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

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

Antwort

1

Ich bin mit den Datumsfunktionen nicht vertraut, aber ich kann Ihnen sagen, dass die Zeit weniger als dstStart ist, weshalb hourOffset bei 3 bleibt. Auch sind Monate 0 basierte Indizes, nicht 1 basiert. März wäre 2, während September wäre 8. http://jsfiddle.net/bFzny/4/ Dies könnte Ihnen helfen. Denken Sie daran, dass Sie bei der Verwendung von jfiddle den Code nicht in Tags einschließen müssen.

Verwandte Themen