2011-01-19 13 views
4

私はスクリプトを作成しています。これは現在の時間に基づいていますが、うまくいきますが、待っていないので、スクリプトが明日は2、3、4日、または一年テスト目的のために現地時間を変更するにはどうすればよいですか?

別の時間だと思うように、Apacheサーバーを騙す方法がありますか? :-)

もしそうなら、どんなパンパメントの影響もなく簡単に修正できますか?

+1

スクリプトがローカルの場合は、システムの日付を変更しようとしましたか? – acm

+0

@Andre matos:いいです!あなたが答えとしてそれを書いたら、私はそれを正しいものとして選んだでしょう!ありがとう^^ – Mike

+0

+1私は時間を仮定してはいけないと分かりました。 – Mchl

答えて

4

あなたのスクリプト内のあるレベルでは、現在の時刻を取得するためにtime関数を使用していますか? (そうでない場合は、最も可能性が高いです。)

もしそうなら、単にmktimeへの呼び出しでtimeとの呼び出しを置き換えて、適切な日付/時刻に設定してください。

PHPスクリプトを使用していない場合は、「date」コマンド(詳細は「man date」)を使用して現在のシステム日付/時刻を変更するだけで済みますWindows/Mac OS Xなどであれば、Unix/Linuxの使用や適切なコントロールパネル/システム設定などがあります。ただし、プライベートテストサーバーを使用していない限り、これを行うことはお勧めしません。

さらに、私のコメントで述べたように、システムクロックを変更することは貧弱な解決策です。実際に使用しているスクリプトで現在の時刻を抽象化する必要があります。

1

middaparkaと同意します - あなたのスクリプトをローカルで実行している場合、現地時間を変更することは大丈夫ですが、データ/セッション/別のものに依存しているのでサーバで実行しているときはどうでしょうか?

答えは、$ timeと呼ばれるスクリプトの先頭に変数を設定してtime()に設定し、time()の代わりにスクリプト全体で$ timeを使用することです。テスト目的のために時間を変更する場合は、その1行だけを変更する必要があります。

関連する問題