PHP检查日期和时间是否已超过15分钟

时间:2014-01-30 20:58:18

标签: php date

如果时间超过15分钟,在数据库中的日期和时间,我会遇到一些麻烦。我怎么检查这个?

我在我的数据库中有这个(例子):

2014-01-30 15:29:31

然后我从PHP获取日期:

$date = date("Y-m-d H:i:s");

但是,如何检查时间是否超过15分钟,或者是否是另一天?

到目前为止我有这个代码:

$date = date("Y-m-d H:i:s");
$sql = "SELECT date FROM reset WHERE session_id = '".$sessid."' limit 1";
$result = mysql_query($sql);
$value = mysql_fetch_object($result);
$dbdate = $value->date;

$checkdate = strtotime($dbdate);
if ($checkdate - time() > 15 * 60) {
error_log("15 mins passed");
}

3 个答案:

答案 0 :(得分:12)

您可以从数据库中解析日期并进行比较。

$dbdate = strtotime($datefromdb);
if (time() - $dbdate > 15 * 60) {
    // 15 mins has passed
}

并比较日期:

if (date("Y-m-d", $dbdate) != date("Y-m-d")) {
    // different date
}

我列出了年份和月份,也只注意到它们的变化(例如2014-01-012014-02-01)。使用"d"代替"Y-m-d"仅检查日期。

答案 1 :(得分:4)

使用DateTime对象:

$dateTimeObject = new \DateTime($dateString);
//and subtract using an interval
$dateTimeObject->sub(new \DateInterval("PT15M"));
$newDateString = $dateTimeObject->format("Y-m-d H:i:s");

答案 2 :(得分:1)

您可以使用DATE_FORMAT个功能。

$actual_minute = date("i");
$data = mysql_query("SELECT DATE_FORMAT(date,'%i') minutes FROM reset WHERE session_id = '".$sessid."'");
$database_minute = $data{'minutes'};