0

SQL クエリから変数を読み込んでいますが、そのうちの 1 つは UNIX タイムスタンプです。PHPdate()関数を使用して曜日を決定しています。正常に動作しているように見えますが、UNIX タイムスタンプが NULL の場合、 を使用するとdate("w", $myunixtime)値が 3 になることに気付きました。タイムスタンプの値をエコーし​​ているのですが、必要に応じて「空白」が表示されます。その直後、関数の値をエコーし​​、3 が表示されます。これは奇妙で、これを説明するドキュメントはありません。

PHP バージョン 5.3.10 を使用する Linux サーバーを使用しています。サーバーは東部時間帯にあり、いいえ、私は UTC を使用しておらず、使用したくありません。変更するにはコードが多すぎます。とにかく、これはそれとは何の関係もないはずです。

あなたが気づいたかもしれない1599年から1600年の問題ではなく、最近の年を使用するとき、他の誰かがdate()関数からの奇妙な値に気づきましたか?

4

1 に答える 1

2

0 として int にキャストされた空の文字列と 0 のタイムスタンプは UNIX エポックの始まり、1970 年 1 月 1 日 00:00:00 GMT でしたが、タイムゾーンが UTC -4 であるため、前日 — 水曜日になります。

とにかく、あなたはどのような結果を期待していますか?

于 2013-10-05T20:07:12.617 に答える