欺骗时间而不改变Windows系统时钟

20

有没有 Windows 工具可用来向程序报告虚假日期/时间?

显然,有些 Linux 程序可以用来测试软件在未来/不同时区中的反应或触发预定任务,而不实际修改系统时钟。是否有类似的程序适用于 Windows?

3个回答

18

2
太棒了,谢谢。虽然似乎不会影响初始进程可能启动的子孙进程,但总比没有强。 - Ishmaeel

2

大约两年前开始,我总是通过一个实用类来抽象调用DateTime.Now(C#)。这样我就可以随时伪造日期/时间,或者直接将其传递给DateTime.Now。

听起来跟BillH建议的很相似。

public class MyUtil
{
  public static DateTime GetDateTime()
  {
     return DateTime.Now.AddHours(5);
     //return DateTime.Now;   
  }
}

你是指这个项目,对吧?它不能在整个系统范围内工作,对吧? :-) - tmighty
正确。仅适用于单个项目。如果系统能够在系统级别上提供一种抽象方式,那将是很好的。Docker可以做到这一点吗?使用底层系统的错误时间?我知道虚拟机可以。 - BuddyJoe

0

你是否需要在测试期间将偏移量或乘数引入到代码读取的时间中?那么可以封装对“getCurrentDateTime()”系统调用的调用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接