我可以更改特定流程的当前日期和时间吗?

我可以更改特定流程的当前日期和时间吗?

(我也问过这个问题在 StackOverflow 上并得到了与对我自己的程序进行单元测试相关的答案,这与这个问题类似但不相同)。

有没有办法更改特定进程(而不是整个计算机)看到的日期和时间?例如,有没有办法让我的操作系统、Dropbox 客户端、Git 构建和 Web 浏览器都知道我计算机上的正确时间并做出相应反应,而我选择的计算机上的单个进程认为是圣诞节或我儿子的生日或凌晨 3 点,从而回复所有time()呼叫并在保存的文件上标记日期?

我能想到的一个用例(虽然承认不是很严重)是激活“非常抱歉”怪物在 Undertale 中,只有当您进入他的房间时才会出现,并且系统时间设置为 10 月 10 日晚上 8 点 - 我希望能够做到这一点,而不必弄乱上述系统程序的日期和时间敏感功能(或者更糟的是,忘记关闭它并弄乱其他前台程序,或者让我的操作系统在我玩游戏时将它同步回来并错过活动)。

答案1

实现您的要求的一种快速方法是在 qemu、uml 或其他类型的虚拟化软件中运行您的进程。在虚拟机上,您可以设置所需的日期/时间,然后运行您的进程。

相关内容