2014-07-14 32 views
0

我們的餐廳在星期五和星期一凌晨3點開放。我已經建立了一個網站/網上商店進行訂購。在用戶鍵入一個郵政編碼後,它會得到一個星期一的前一天。那麼它會得到週一的開盤和收盤時間。如果商店是開放的,您可以訂購。確定它的夜間時間

問題是,如果您在星期五的0:00之後輸入郵編,店鋪將顯示關閉,因爲「系統」認爲它的星期六,所以它抓住了星期六的關閉時間。我使用$ day = date(「l」);獲得一天。

沒有這是合乎邏輯的,因爲星期五的0:00之後是星期六..但是我需要一些解決方法讓系統知道如果我在星期五的0:00之後鍵入一個郵政編碼(所以在星期六)系統從數據庫獲取星期五關閉時間,而不是星期六關閉時間。

解決此問題的最佳方法是什麼?

+2

您需要顯示您嘗試的代碼。像這樣,我們可以告訴您檢查當前小時數是否在0到3之間,星期六是星期六還是星期二,並閱讀上一個日期的結束時間。 – Dexa

回答

2

隨着檢查一天的最好的事情是檢查時間。如果它在昨天的收盤時間之前,那麼顯示昨天的收盤時間。否則顯示今天的開放時間。類似這樣的:

// If it's before 5am set time to yesterday. 
if((int)date('G') < 5) { 
    $time = time(); 
} else { 
    $time = strtotime('-1 day'); 
} 
$day = date('N', $time); 
+0

好吧,這是好事,但..我想這樣,如果它晚了,然後0:00或更早,然後3:00然後顯示前一天。但你的腳本現在顯示第7天...但它的星期一,所以我不知道爲什麼... – rZaaaa

+0

如果它小於5,我已經設置它,只要將if語句更改爲3,如果你想早於3我也用過日期,所以星期一是第一天,星期天是第七天,這可能不是你做這件事的方式。如果沒有,你需要調整代碼以適應。 – Styphon