我建立一個測驗系統,PHP來計算的剩餘時間框架
上表中的字段是:
ID,標題,描述,狀態,創建,結束
的邏輯就是這樣的:
一個測驗僅持續一週,它會在一週的最後一天自動結束(我在星期六24:00考慮),並且管理員應該在任何一天的測驗中輸入測驗周,如果它是在Wedne上輸入的星期天在下午1點說,那麼系統應該計算剩餘的時間範圍(在這種情況下大約需要83小時),然後將其添加到當前時間()以插入到「結束」字段。
我在正確的軌道上?如果我是,我應該如何計算PHP中剩餘的時間框架?
感謝
我建立一個測驗系統,PHP來計算的剩餘時間框架
上表中的字段是:
ID,標題,描述,狀態,創建,結束
的邏輯就是這樣的:
一個測驗僅持續一週,它會在一週的最後一天自動結束(我在星期六24:00考慮),並且管理員應該在任何一天的測驗中輸入測驗周,如果它是在Wedne上輸入的星期天在下午1點說,那麼系統應該計算剩餘的時間範圍(在這種情況下大約需要83小時),然後將其添加到當前時間()以插入到「結束」字段。
我在正確的軌道上?如果我是,我應該如何計算PHP中剩餘的時間框架?
感謝
可以使用strtotime();
得到時間戳和使用參數的下個週六,所以你可以計算出時間做這樣的事情剩餘:
$timeRemaining = strtotime('next saturday') - time();
這會給你以秒爲單位的時間戳,您可以用3600除以得到小時數。
在PHP> = 5.3.0您可以使用該功能date_diff
在以前的剩餘版本你可以使用這樣的事情
$date1 = time();
$date2 = mktime(0,0,0,01,28,2011);
$diff = $date2 - $date1;
如果我正確地理解了這個問題,即你想結束日期存儲在數據庫然後,這不僅可以實現與
$結束= strtotime(「+ 1周」);
請注意,星期六的24:00不存在。時間從星期六的23點59分59秒到星期日的00點00分。
無需手動添加時間。測驗創建後,您可以使用$end_time = strtotime('next Sunday');
獲得測驗結束的時間(週日上午00:00:00)。
這一個作品,謝謝你。順便說一句,得到的時候,我應該除以3600不應該? – littlechad 2011-01-12 09:27:34