2011-01-19 68 views
4

我正在編寫一個腳本,它基於當前時間,它工作正常,但我不想等,所以我可以看到,如果腳本明天在2,3,4天內工作,或者一年。如何更改當地時間以進行測試?

有沒有辦法欺騙Apache服務器(使用PHP的首選),認爲這是一個不同的時間? :-)

如果是這樣,是否容易修復而不會造成任何後果?

+1

如果您的腳本是本地的,您是否嘗試更改系統日期? – acm 2011-01-19 11:39:32

回答

4

我想在你的腳本里面的某個級別上使用time函數來獲取當前時間? (如果不是,最可能應該是)

如果是這樣,只需將呼叫替換爲調用mktime的時間,並將其設置爲將來的相應日期/時間。

更糟糕的情況(如果您不使用PHP腳本),只需使用系統「date」命令(詳細信息,請參閱「man date」)就可以簡單地更改當前系統日期/時間如果你使用的是Windows/Mac OS X等,Unix/Linux的使用或相應的控制面板/系統設置等。但是,除非你使用私人測試服務器,否則我不會推薦這麼做。

另外,正如我在我的評論中所說的,不得不改變系統時鐘是一個糟糕的解決方案 - 你真的需要在你正在使用的任何腳本中抽象當前時間。

1

同意middaparka - 如果你在本地運行你的腳本,改變本地時間是一切都很好,但是當它在服務器上運行時又如何,因爲它取決於數據/會話/其他?

答案是隻需在腳本頂部設置一個名爲$ time的變量並將其設置爲time(),然後在整個腳本中使用$ time而不是time()。然後,當你想改變測試時間的時候,你只需要改變那一行。

相關問題