[英]PHP Check if 10 minutes has gone by
我想相互比較兩個dates
,看看是否已經過去了10分鍾。
這是我得到的代碼,但是我不太清楚該怎么做。
我從我的表(保存為獲得第一個日期timestamp
,例如:2017年3月26日22時33分四十五秒),然后我想將它與比較time
是正確的now
。
$sql = "SELECT saved_time from table1 where email = '$email'";
$stmt = $conn->prepare($sql);
$stmt->execute();
while($row = $stmt->fetch()) {
$savedTime = $row[0];
}
$now = time();
if (/*10 minutes has passed between saved time and now*/) {
echo "Your account is unlocked";
} else if (/*10 minutes hasn't passed*/) {
echo "Your account is locked";
}
試試下面的代碼:
$timezone = "Asia/Kolkata";// Select Timezone as of your Preference or MySQL Server Timezone
date_default_timezone_set($timezone);
$sql = "SELECT saved_time from table1 where email = :email";
$stmt = $conn->prepare($sql);
$stmt->execute(array(':email' => $email));
while($row = $stmt->fetch()) {
$savedTime = $row[0];
}
// Uncomment below Line if $savedTime is in MySQL DATETIME Format
// $savedTime = strtotime($savedTime);
$now = time();
if (round(($now - $savedTime) / 60,2) >= 10){
echo "Your account is unlocked";
} elseif (round(($now - $savedTime) / 60,2) < 10){
echo "Your account is locked";
}
if $now = time(); #(this will generate a timestamp)
假設$savedTime = $row[0];
是MySQL日期字段,您可以執行
$savedTimeTimestamp= date("Y-m-d H:i:s", $savedTime);
...現在10時60秒就是10分鍾,所以
if ($now > ($savedTimeTimestamp+600))
應該做的工作
如果mysql解決方案適合您,那么
select * from table T where TIMESTAMPDIFF(MINUTE,.saved_time,NOW()) > 10
如果您在php中需要它,那么
$db_time = $row['saved_time'];//as you have stored in timestamp already
$curr_time = strtotime(date('Y-m-d H:i:s'));
$diff = round(abs($db_time - $curr_time) / 60,2);
if($diff > 10)
更新
select now() as curr_time, saved_time from table where COND;
然后在PHP
$diff = $curr_time-$saved_time;
if($diff > (10*60 ))
我不確定這是否行得通。 但是只是一個想法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.