2013-03-13 88 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

相关问题