以下是一個及時的問題。對於時間的變化在北美*的規則是:JavaScript - 查找下一次更改日期(標準或日光)
- 的第一個星期日十一月,抵消月更改爲標準(-1小時)
- 的第二個星期日,偏移改變日光(您與GMT的正常偏移量)
考慮JavaScript中的一個函數,該函數接受Date參數,並應確定參數是標準還是夏令時。
問題的根源在於:
- 你會如何構建下一次更改的日期?
算法/僞目前看起來是這樣的:
if argDate == "March" { var firstOfMonth = new Date(); firstOfMonth.setFullYear(year,3,1); //the day of week (0=Sunday, 6 = Saturday) var firstOfMonthDayOfWeek = firstOfMonth.getDay(); var firstSunday; if (firstOfMonthDayOfWeek != 0) //Sunday! { //need to find a way to determine which date is the second Sunday } }
的這裏的約束是使用標準的JavaScript函數,而不是刮Date對象的任何JavaScript引擎的解析。此代碼不會在瀏覽器中運行,因此這些不錯的解決方案不適用。
**不是所有的地方/在北美的更換時間的區域。*