La risposta accettata non prende in giro il metodo Date.getTimezoneOffset
, invece si aspetta che tu usi un metodo diverso con lo stesso nome.
Non funzionerà sugli oggetti Data stessi e, come sottolinea Carl Meyer, non funzionerà per le librerie come MomentJS.
Un modo migliore è quello di eseguire l'override del metodo getTimezoneOffset
sul prototipo Date
, in modo che tutte le istanze di Date
hanno il metodo di override.
d = new Date(); // Mon Jul 13 2015 10:58:12 GMT+0200 (CEST)
alert(d.getTimezoneOffset()); // -120, My local "real" timezone.
// Save the original method.
var getTimezoneOffset = Date.prototype.getTimezoneOffset;
Date.prototype.getTimezoneOffset = function() {
return 160;
}
// Now Date objects will have the mocked timezone offset
alert(d.getTimezoneOffset()); // 160, The mocked timezone.
// Now restore the method to its original version
Date.prototype.getTimezoneOffset = getTimezoneOffset;
alert(d.getTimezoneOffset()); // -120
fonte
2015-07-13 09:03:13
Modificare il fuso orario del computer. Ecco dove arriva il browser. –
Puoi anche avviare il tuo browser con un TZ diverso: http://stackoverflow.com/questions/11453740/fake-time-zone-for-web-app-testing –