我正在为一所学校建立一个网站,一个教师可以添加作业的地方。所有这些分配都存储在MySQL表中,其中包含datetime类型的字段,用于存储截止日期。我正在寻找一种方法,用PHP来检查截止日期是否已经过去,这样我就可以为老师和学生提供视觉反馈。任何帮助将不胜感激!
答案 0 :(得分:3)
我会使用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 :(得分:2)
您可以在查询中使用MYSQL实际处理此问题,我会发现这样更容易,因为您不必在php中处理日期。 例如:
SELECT DueDate, (DueDate < CURDATE()) FROM table;
(DueDate&lt; CURDATE())返回0/1
否则:
答案 2 :(得分:1)
根据您将日期存储到 datetime 字段的方式(希望您使用的是TIMESTAMP),您可以使用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。
祝你好运!