Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否更改浏览器时间以测试日期()的返回值?_Javascript - Fatal编程技术网

Javascript 是否更改浏览器时间以测试日期()的返回值?

Javascript 是否更改浏览器时间以测试日期()的返回值?,javascript,Javascript,有没有办法在不操纵系统时钟的情况下更改浏览器的时间?没有。浏览器没有时间。系统有。浏览器没有真正的“时间”,它从系统时钟获取时间。当然,如果您想做一些特别讨厌的事情,可以重写日期函数 Date.prototype.getTime = function() { return 1 }; (new Date).getTime(); // 1 因此,如果您想将时间设置为1989年11月4日凌晨1点,您首先要找到时间值: (new Date('1989-11-04T01:00:00')).getTime

有没有办法在不操纵系统时钟的情况下更改浏览器的时间?

没有。浏览器没有时间。系统有。

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

Date.prototype.getTime = function() { return 1 };
(new Date).getTime(); // 1
因此,如果您想将时间设置为1989年11月4日凌晨1点,您首先要找到时间值:

(new Date('1989-11-04T01:00:00')).getTime() // Returns 626144400000
然后在浏览器中模拟它:

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

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

简短的回答是“否”。您到底想做什么?因此Date()函数返回一个与我的时区不同的日期。@A00:您可能想重新表述您的问题(或询问另一个问题),然后,因为这是一个完全不同的问题。我想这样做,以便我可以用cypress进行e2e测试,并断言系统在不同的时间表现不同。