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

Set the date/time for a python script in linux

我是单元测试python脚本,并希望在一个月的不同日期模拟脚本的运行。

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

我没有权限更改系统日期/时间,并且不想使用我想要测试的日期来破解脚本。

干杯,
多纳尔


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

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


你可能通过一些LD_PRELOAD技巧实现这一点,但在我看来更清晰的解决方案是模拟datetime.date类。 有关详细信息,您可以查看此问题的答案


我不认为有一种方法可以直接在shell中设置日期/时间,这样系统时间就不会改变,但是对于子shell来说是不同的

但是有两种解决方案

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

1
TZ="GMT+6" date

2)在像Virtualbox这样的VM中运行python程序并设置系统时间。 在VM中!