2009-12-29 25 views
9

有什么方法可以在不操纵系统时钟的情况下更改浏览器的时间?更改浏览器时间以测试Date()的返回值?

+3

简短的回答是否定的。你到底想做什么? – 2009-12-29 21:13:58

+1

因此Date()函数返回一个不同于我的时区的日期。 – A00 2009-12-29 21:16:54

+0

@ A00:您可能想要重新解释您的问题(或者询问不同的问题),然后,因为这是一个完全不同的问题。 – 2009-12-29 21:18:31

回答

18

不。浏览器没有时间。系统确实如此。

16

浏览器并不真正“有时间”,它从系统时钟获取时间。当然,如果你想做一些特别讨厌的事情,你可以重写Date函数。

Date.prototype.getTime = function() { return 1 }; 
(new Date).getTime(); // 1 

所以,如果你想设置的时间至凌晨1点1989年11月4日,你先找到时间值:

(new Date('1989-11-04T01:00:00')).getTime() // Returns 626144400000 

然后在浏览器中嘲笑它:

Date.prototype.getTime = function() { return 626144400000 }; 
4

您可以在虚拟机(VMWare/VirtualPC /等)中运行浏览器,并更改VM中操作系统的时间。