[英]Seconds elapsed from mysql date entry and now
我搜索過,我遇到了太多的嘗試/錯誤,但是沒有運氣。
我想找出從Mysql條目中插入date("Ymd H:i:s")
以NOW()
插入NOW()
和日期為date("Ymd H:i:s")
格式的當前日期以來經過了幾秒鍾。這是我的php函數(來自發布了@stackoverflow的用戶)。
function multipost(){
global $dbh;
$ip= $_SERVER['REMOTE_ADDR'];
$sql = "select * from table where ip='$ipa' order by date_time desc limit 1";
foreach ($dbh->query($sql) as $row) {
$timeFirst=$row['date_time'];
$timeSecond=date("Y.m.d H:i:s");
$differenceInSeconds = $timeSecond-$timeFirst;
echo $differenceInSeconds;
}
我也嘗試過strtotime($row['date_time'];)
但是沒有運氣。 有什么幫助嗎? 提前致謝。
function secDifference($date,$time){
$dateVals = explode("-",$date);
$timeUnix = 0;
if($time == 0){
$timeUnix = date("U",mktime(0,0,0,$dateVals[1],$dateVals[2],$dateVals[0]));
}
else{
$tempVals = explode(" ",$dateVals[2]);
$dateVals[2] = $tempVals[0];
$timeVals = explode(":",$tempVals[1]);
$timeUnix = date("U",mktime($timeVals[0],$timeVals[1],$timeVals[2],$dateVals[1],$dateVals[2],$dateVals[0]));
}
return (date("U")-$timeUnix);
}
復制此功能。 要獲取DATE和NOW的區別:
secDifference("12/03/1993");
要獲取DATE TIME和NOW的區別:
secDifference("12/03/1993 14:54:32",1);
希望能幫助到你。
您可以獲取mysql為您返回值:
select *, TIMESTAMPDIFF(SECOND, NOW(), date_time) AS time_diff from table where ip='$ipa' order by date_time desc limit 1
如果只想知道以秒為單位的時間差,則可以使用MySQL TIMESTAMPDIFF()
。 您的查詢字符串如下所示:
$sql = "SELECT *, TIMESTAMPDIFF(SECOND, date_time, NOW()) AS time_diff FROM table WHERE ip='$ipa' ORDER BY date_time DESC LIMIT 1";
注意 , TIMESTAMPDIFF
的返回存儲為“ time_diff”。 您的結果將添加'time_diff'作為列。
有關更多文檔,請參閱此頁面 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.