Safari su OSX ritiene che il 6 ottobre 2013 sia un sabato in Australia. Non è, è in realtà una domenica.Perché Safari è confuso su Date.getDay() per l'ora legale a Sydney, fuso orario di Aus?
Per replicare questo problema, è sufficiente impostare il fuso orario su Sydney-Australia, aprire la console di sviluppo in Safari e immettere la nuova data ("2013/10/06"). Otterrete questo:
Ora passa a Seattle-USA e otterrete questo:
Il problema si verifica anche per Melbourne-Australia, ma non per le città maggiori a nord come Brisbane (che si adatta allo zoning for Australian DST) oa una manciata di altre città che ho testato in tutto il mondo.
Ora, il 6 ottobre 2013 è il start of daylight savings time in Sydney.. E lo stesso errore viene commesso per le altre date di inizio dell'ora legale negli altri anni. Non sembra esserci un problema per le date di fine dell'ora legale. Non sembra esserci un problema per le date di inizio dell'ora legale nel fuso orario PDT. Inoltre, Chrome e Firefox non presentano questo problema.
Ho testato la maggior parte di questo su due diversi Mac, uno su Snow Leopard con Safari 5.1.7 e uno su Lion con Safari 6.0.2.
Quindi la domanda è - si tratta di un bug o c'è una qualche ragione razionale per questo?
Stesso comportamento su Safari in Win7 per me – koopajah
Prova: 'd = new Date (" 2013-10 -06"); d.setMinutes (d.getMinutes() + d.getTimezoneOffset()) ' –
Il mio hack è usare' new Date (datestring + "12:00"). getDay() 'che mette il tempo solidamente nel mezzo del giorno lontano da tutti gli switch DST (http://www.worldtimezone.com/daylight.html). – jlarson