2013-10-05 52 views
0

我從SQL查詢中加載變量,其中一個是unix時間戳。我使用PHP date()函數來確定星期幾。它似乎工作正常,但我注意到,當unix時間戳爲NULL時,使用date("w", $myunixtime)產生的值爲3.我回顯時間戳的值,我得到一個'空白',因爲我應該。然後在那之後,我回應了函數的價值,並且我看到了3.這很奇怪,我沒有看到任何解釋這個的文檔。

我在使用PHP 5.3.10的Linux服務器上。服務器位於東部時區,不,我沒有使用UTC,也不想爲此改變太多的代碼。無論如何,這與此無關。

有沒有其他人注意到date()函數的奇怪值 - 當使用近期年,而不是你可能已經注意到的1599-1600年問題?

回答

2

您的空字符串被轉換爲int,並且0的時間戳記是unix時代的開始1970年1月1日00:00:00格林尼治標準時間這是一個星期四,但因爲您的時區UTC UTC -4您獲得前一天 - 星期三。

無論如何,你期望什麼結果?

+0

那麼,這是一個問題。我想我預計NULL。謝謝。在這種情況下,它並沒有傷害任何東西,但它肯定會把我燒燬在路上。 – McAuley

+1

使用PHP時,您需要始終注意輸入較弱的結果。 – Yaroslav