Ecco una domanda tempestiva. Le regole in America del Nord * per il cambiamento di tempo sono:JavaScript - trova la data della prossima modifica (Standard o Daylight)
- il prima Domenica di novembre, compensato modifiche a standard (-1 ora)
- il seconda Domenica di marzo, compensato modifiche alla luce del giorno (l'offset normale da GMT)
Prendere in considerazione una funzione in JavaScript che accetta un parametro Date e deve determinare se l'argomento è Standard o Daylight Saving.
La radice della questione è:
- come è possibile costruire la data del prossimo cambio di orario?
L'algoritmo/pseudocodice attualmente si presenta così:
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 } }
Il vincolo è quello di utilizzare la funzione JavaScript standard, e non raschiare l'analisi di qualsiasi motore JavaScript dell'oggetto Date. Questo codice non verrà eseguito in un browser, quindi quelle belle soluzioni non potrebbero essere applicate.
** Non tutti i luoghi/regioni in tempi di cambio America del Nord. *