簡體   English   中英

從mysql日期輸入到現在的秒數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM