2012-07-29 39 views

回答

4

簡單的一個能夠完成任務:

if (date('H') < 17) 
{ 
    // DO SOMETHING 
} 

只要記住這個日期來自服務器。所以,如果客戶在另一個時區,那可能無法按需要工作。關於這一點的好處是,用戶無法更改他的電腦日期以欺騙網站。

如果你想這樣做的JavaScript(這裏的價值將來自於用戶的計算機),只要做到以下幾點:

var today = new Date(); 
if (today.getHours() < 17) 
{ 
    // DO SOMETHING 
} 
3
if(time() < strtotime('today 05:00 pm')) { 
    // Do stuff 
} 
+1

+1,因爲它會工作,但我會盡量避免'的strtotime ()'這些天儘可能 - 在大多數情況下,這是不必要的。 – Spudley 2012-07-29 21:45:40

6

該解決方案使用了漂亮的PHP5 DateTime類,並避免了笨重的老strtotime()功能:

$hoursNow = new DateTime()->format('H'); 
if($hoursNow < 17) { 
    .... 
} 
+0

+1好看又簡單 – Wh1T3h4Ck5 2012-07-29 21:53:48

+0

這是否考慮到了DST? – hohner 2012-07-29 21:55:51

+2

@Jamie,是的,如果服務器的時區使用DST(或時區設置) – Wh1T3h4Ck5 2012-07-29 21:57:21

0

總之...

$t = time(); # or any other timestamp 
if (date('H', $t) < 17) { 
    // Do stuff 
    } 

適用於任何一天

注意:請確保您的時區是正確的(檢查PHP的配置或調用date功能之前只使用date_default_timezone_se噸功能)

相關問題