如果时间超过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");
}
答案 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-01
到2014-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'};