2017-06-14 41 views
-2

我有一個使用腳本的,如果基於日期(「H」)的時間凡日期(「H」)的價值來自於什麼可以影響它

if (date('H') >= 16) { do this} 

98%statemnt這個工作正常。

對於某些提交(日期('H')> 16),如果未發佈陳述,則失敗。

這個值來自哪裏,是否有來自個人用戶電腦的任何可能影響它的東西?

我試着修改系統時鐘沒有區別,不知道爲什麼有些失敗。

+2

它來自服務器的時鐘,而是由時區 –

+1

您的區域設置的影響,返回小時在24小時格式與領先0,所以任何東西下午4點將失敗,所以在你的服務器命中4點之前,它將失敗 – ThisGuyHasTwoThumbs

+0

日期('H')來自服務器時間不是用戶PC時間 –

回答

0

返回根據使用 給定整時間戳或當前的時間,如果沒有時間戳是給出 給定格式串格式化的字符串。換句話說,時間戳是可選的,並且默認爲time()的值 。

那麼你可以檢查time()什麼值目前處理。

做你的問題:

一切,是因爲之前的條件去falsey下午4點會失敗。

0

date輸出在由date_default_timezone_set設置的時區中格式化的當前服務器時間。如果你從中得到意想不到的值,你可以在全球範圍內設置時區某處它可以改變輸出:

date_default_timezone_set('UTC'); 
echo date('H'); // 15 

date_default_timezone_set('Asia/Tokyo'); 
echo date('H'); // 00 
相關問題