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