gpt4 book ai didi

javascript - 如何在javascript中伪造时间?

转载 作者:IT王子 更新时间:2023-10-29 03:10:58 26 4
gpt4 key购买 nike

我想模拟 Date 构造函数,以便每当我调用 new Date() 时,它总是返回特定时间。

我发现 Sinon.js 提供了 useFakeTimers 来模拟时间。但是下面的代码对我不起作用。

sinon.useFakeTimers(new Date(2011,9,1));

//expect : 'Sat Oct 01 2011 00:00:00' ,

//result : 'Thu Oct 27 2011 10:59:44‘
var d = new Date();

最佳答案

sinon.useFakeTimers 接受时间戳(整数)作为参数,而不是 Date 对象。

试试

clock = sinon.useFakeTimers(new Date(2011,9,1).getTime());
new Date(); //=> return the fake Date 'Sat Oct 01 2011 00:00:00'

clock.restore();
new Date(); //=> will return the real time again (now)

如果您使用类似setTimeout 的东西,请务必阅读文档,因为useFakeTimers 会破坏该代码的预期行为。

关于javascript - 如何在javascript中伪造时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7931069/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com