2014-12-22 32 views
0

我對JavaScript一無所知,但我試圖獲得一個具有固定時區的每週定時器,以便它顯示與每個人相同的倒計時,無論他們從哪裏看。我已經得到這個代碼從這裏某處:每週javascript定時器中的固定時區

var cday; 
var timeInSecs; 
var ticker; 

function getSeconds() { 
var now = new Date(); 
var nowtime= now.getTime(); 
var countdowntime = new Date(now.getFullYear(),now.getMonth(),now.getDate(),2,0,0); 

var dy = 1 ; 
var atime = countdowntime.getTime(); 
var diff = parseInt((atime - nowtime)/1000); 
if (diff >0) { 
cday = dy - now.getDay();  
} 
else { 
cday = dy - now.getDay() -1; 
} 
if (cday < 0) { cday += 7; } 
if (diff <= 0) { diff += (86400 * 7) } 
startTimer (diff); 
} 

function startTimer(secs) { 
timeInSecs = parseInt(secs); 
ticker = setInterval("tick()",1000); 
tick(); 
} 

function tick() { 
var secs = timeInSecs; 
if (secs>0) { 
timeInSecs--; 
} 
else { 
clearInterval(ticker); 
getSeconds(); 
} 

var days = Math.floor(secs/86400); 
secs %= 86400; 
var hours= Math.floor(secs/3600); 
secs %= 3600; 
var mins = Math.floor(secs/60); 
secs %= 60; 
var result = "League update in " + cday +":"; 
result += ((hours < 10) ? "0" : "") + hours + ":" + ((mins < 10) ? "0" : "") + mins 
       + ":" + ((secs < 10) ? "0" : "") + secs ; 
document.getElementById("countdown").innerHTML = result; 
} 

而且它完美的作品作爲每週計時器,但我不知道如何實現這個固定的時區的事情。我已經看到使用Date.UTC的代碼,但編碼我必須得到的時間是不同的,所以我真的不知道我應該如何工作。 :(我已經看到了代碼來獲取特定時區的時間,但我需要將它與每週定時器相匹配,我似乎無法找到任何有用的信息。

我希望重置倒計時的時間在每週一凌晨2點KST,這將是星期日下午5:00 UTC,但我真的不知道如何告訴倒計時只使用UTC(或KST,但我相信UTC會更容易) 任何人都可以幫助

+2

_「我什麼都不知道的javascript」 _? - 也許你應該考慮僱人 –

+0

@HoboSapiens呃,不,謝謝。我相當確信這是相對較小的。如果沒有人向我解釋任何事情,那當然我永遠都不會知道,對吧?這不是我絕對不能做的事情。我只是需要幫助才能理解和弄清楚該怎麼做。 – Kach

回答

0

utc變量會給你一個字符串格式GMT時間

var now = new Date() 
var utc = now.toUTCString(); 
+0

但是我不能使用一個字符串,如果我想做一個計時器? :/ – Kach

+0

@Kach我認爲你想分割每一部分時間,你可以現在做,並使用'parseInt()'函數,你可以改變字符串爲整數 –