2013-03-13 63 views
-1

我正在爲一所學校建立一個網站,讓老師可以添加作業。所有這些分配都存儲在一個MySQL表中,其中一個datetime類型的字段存儲到期日期。我正在尋找一種方式,使用PHP來檢查截止日期是否過去,以便爲教師和學生提供視覺反饋。任何幫助,將不勝感激!如何判斷MySQL中的日期時間字段是否過去與PHP?

+3

有幾種不同的方法來做到這一點。你有什麼嘗試? – 2013-03-13 18:32:36

回答

2

我會使用PHP的日期比較工具。這裏是一個例子:

$date1 = new DateTime("now"); 
$date2 = $yourDateFromTheDatabase; 
if ($date2 < $date1) { 
    //it still has time 
} else { 
    //time has passed 
} 

這有幫助嗎?你可以在這裏找到更多的例子:http://php.net/manual/en/datetime.diff.php

1

取決於你如何存儲日期到日期時間場(希望你使用時間戳),你可以使用PHP 的strtotime功能,解析MySQL的時間戳爲Unix時間戳可以使用用於比較PHP值。以下是一個示例:

$res = mysql_query("SELECT datetime FROM assignments;"); 

while ($row = mysql_fetch_array($res)) { 
    $date = date("g:i a F j, Y ", strtotime($row["date"])); 
} 

並與$date變量做比較。這是一個超級廣泛和粗糙的看法,但希望它有所幫助。

你可以閱讀更多關於這個概念here

祝你好運!

2

你實際上可以在你的查詢中使用MYSQL處理這個問題,我會發現它更簡單,因爲那樣你就不必在php中處理日期。 例如:

SELECT DueDate, (DueDate < CURDATE()) FROM table; 

(DUEDATE < CURDATE())返回0/1

否則:

Compare given date with today

相關問題