1

我正在为一所学校建立一个网站,教师可以在其中添加作业。所有这些分配都存储在一个 MySQL 表中,其中一个 datetime 类型的字段存储到期日期。我正在寻找一种使用 PHP 的方法来检查截止日期是否过去,以便我可以为教师和学生提供视觉反馈。任何帮助,将不胜感激!

4

3 回答 3

4

我会使用 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

于 2013-03-13T18:43:23.707 回答
3

您实际上可以在查询中使用 MYSQL 处理这个问题,我会发现这更容易,因为您不必在 php 中处理日期。例如:

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

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

除此以外:

比较给定日期和今天

于 2013-03-13T18:43:12.300 回答
2

根据您将日期存储到datetime字段的方式(希望您使用的是 TIMESTAMP),您可以使用 PHP strtotime函数,该函数将 MySQL 时间戳解析为可用于比较 PHP 值的 Unix 时间戳。这是一个例子:

$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变量进行比较。这是对一个想法的超级广泛和粗略的看法,但希望它有所帮助。

您可以在此处阅读有关此概念的更多信息。

祝你好运!

于 2013-03-13T18:43:05.050 回答