如何更改当地时间进行测试?

时间:2011-01-19 11:36:10

标签: php date time

我正在写一个基于当前时间的脚本,它工作正常,但我不想等,所以我可以看到,如果脚本明天有效,可以在2,3,4天,或一年。

有没有办法欺骗apache服务器(使用php首选)认为这是一个不同的时间? : - )

如果是这样,是否很容易修复而没有任何后果?

2 个答案:

答案 0 :(得分:4)

我假设您在脚本中的某个级别使用time函数来获取当前时间? (如果你不是,你很可能应该。)

如果是这样,只需将呼叫替换为mktime的呼叫,将来设置为适当的日期/时间。

更糟糕的情况(如果您没有使用PHP脚本),只需使用系统“date”命令(详细信息为“man date”)更改当前系统日期/时间,如果您使用的是Unix / Linux使用或适当的控制面板/系统设置等,如果您使用的是Windows / Mac OS X等。但是,除非您使用私有测试服务器,否则我真的不建议这样做。

另外,正如我在评论中所说,不得不改变系统时钟是一个糟糕的解决方案 - 你真的需要用你正在使用的任何脚本抽象当前时间。

答案 1 :(得分:1)

同意middaparka - 如果你在本地运行你的脚本,那么改变本地时间就好了,但是当它在服务器上运行时,因为它依赖于数据/会话/其他东西呢?

答案是在脚本顶部设置一个名为$ time的变量并将其设置为time(),然后在整个脚本中使用$ time而不是time()。然后,当您想要更改测试时间时,您只需要更改那一行。