我對JavaScript有點新鮮但我確實有一些基本的理解。我想創建一個接受日期和時間的倒數計時器,但我不確定如何或從何處開始。如何在JavaScript中創建高級倒數計時器?
我想倒計時是這樣的:http://www.timeanddate.com/clocks/freecountdown.html
那麼,如何確保它工作在規定的時間區域內,與閏年,和DST設置?
我對JavaScript有點新鮮但我確實有一些基本的理解。我想創建一個接受日期和時間的倒數計時器,但我不確定如何或從何處開始。如何在JavaScript中創建高級倒數計時器?
我想倒計時是這樣的:http://www.timeanddate.com/clocks/freecountdown.html
那麼,如何確保它工作在規定的時間區域內,與閏年,和DST設置?
歡迎來到Stackoverflow!
我不會把所有的東西都拿走,但是如果你想讓時間明確無誤(即使客戶的電腦設置了錯誤的日期),你將不得不使用類似TimeAPI之類的東西。
如果你想確保它在一個指定的timezone,與閏年等爲主,Date對象應該做的伎倆:
var x = new Date();
var currentTimeZoneOffsetInHours = x.getTimezoneOffset()/60;
爲了應對DST,它更復雜,但一般的共識是隻使用UTC method of the Date object:
var d=Date.UTC(2012,02,30);
這將確保你不會交叉任何時區的邊界。在SO上有幾個類似於這個問題的問題,所以隨意搜索。
坦率地說,你需要學習更多的JavaScript。
退房:
基本上,您可以設置使用功能的日期的不同時間部分。然後計算當前日期和所需結束日期之間的差異(獲取毫秒差異,然後計算剩餘時間顯示的時間字符串)。
一旦你已經產生了一些實際的代碼,用它更新你的問題,我們可能會幫助你更多。
這並不是很先進,但這是一個很好的開始。 的示例將打印,多少天,小時和分鐘是留給2015年
// NewYearCalculator
// Written by Riku Viitanen
// 2014
today = new Date();
BigDay = new Date("1, 1, 2015");
msPerDay = 24 * 60 * 60 * 1000 ;
timeLeft = (BigDay.getTime() - today.getTime());
e_daysLeft = timeLeft/msPerDay;
daysLeft = Math.floor(e_daysLeft);
e_hrsLeft = (e_daysLeft - daysLeft)*24;
hrsLeft = Math.floor(e_hrsLeft);
minsLeft = Math.floor((e_hrsLeft - hrsLeft)*60);
document.write("Only " + daysLeft + " days, " + hrsLeft +" hours and " + minsLeft + " minutes left to year 2015!");
對不起,我英文不好,如果它是:3
謝謝你的投入,我會環顧四周,看看我能想出什麼,我已經看到了幾個腳本,但需要仔細看看它們,並試圖瞭解它們是如何工作的。一旦我得到了一些東西,我會回來併發布更新。 – Hazzle 2013-03-15 00:51:29