在linux中设置python脚本的日期/时间

在linux中设置python脚本的日期/时间,python,linux,Python,Linux,我正在对一个python脚本进行单元测试,并希望在一个月的不同日子模拟脚本的运行 有没有办法设置从命令行启动脚本的日期/时间 我没有更改系统日期/时间的权限,我不想用我想要测试的日期来修改脚本 干杯, Donal刚刚找到了解决方案,请使用名为faketime的linux工具 [10:45:03] $ faketime '2008-12-24 08:15:42' /bin/date Wed Dec 24 08:15:42 GMT 2008 我认为没有一种方法可以直接在shell中设置日期/时间,

我正在对一个python脚本进行单元测试,并希望在一个月的不同日子模拟脚本的运行

有没有办法设置从命令行启动脚本的日期/时间

我没有更改系统日期/时间的权限,我不想用我想要测试的日期来修改脚本

干杯,
Donal

刚刚找到了解决方案,请使用名为faketime的linux工具

[10:45:03] $ faketime '2008-12-24 08:15:42' /bin/date
Wed Dec 24 08:15:42 GMT 2008

我认为没有一种方法可以直接在shell中设置日期/时间,从而使系统时间保持不变,但子shell的时间不同

然而,有两种解决办法

1) 对于一组有限的不同时间,您可以使用TZ,例如

TZ="GMT+6" date

2) 在虚拟机(如Virtualbox)中运行python程序,并设置系统时间。在虚拟机中

您可能通过一些LD_预加载技巧来实现这一点,但在我看来,更干净的解决方案是模拟datetime.date类。有关更多详细信息,您可以查看我写这篇文章时尝试过的答案,但在接下来的两天内,它不会让我接受我自己的答案。