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中!