0

と比較する方法を見つけようとしていますdate()。この関数を使用して、現在の時刻とキャッシュ ファイルが最後に変更された時刻を比較する方法についてのチュートリアルに従っています。チュートリアルでは、著者は「10800」を 3 時間として使用し、コードは次のようになります。

(filemtime($cache) < (time()-10800))

この比較がどのように機能するかを理解するのに問題はありませんが、時間の表現"10800"がどのようにフォーマットされているかわかりません。

念のために言っておきますが、答えを探すのに 15 分も費やしたので、Google を知らないだけではありません。

ありがとう!

4

2 に答える 2

2

10800 は秒単位です。

すべての UNIX タイムスタンプは、エポック以降の秒単位で測定されます... 1 は 1970 年の最初の秒です。

これは、 strtotime の値が正しくなく、それを日付で解釈している理由を説明しています。

date(strtotime("last tomorrowday"));

最終的に 1969-12-31 と表示されます ... strtotime は 0 を返し、1 が 1970 年の最初の秒である場合、0 は 1969 年の最後の秒として解釈されます

于 2013-05-24T04:08:01.980 に答える
1

秒単位です。

3 hours = 3 * 60 * 60 = 10800 seconds

time関数は、Unix エポック (1970 年 1 月 1 日 00:00:00 GMT) からの秒数で測定された現在の時間を返します。10800の前のタイムスタンプを取得するには、それから減算する必要があり3 hoursます。

于 2013-05-24T04:10:06.627 に答える