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测试,并断言系统在不同的时间表现不同。