[英]Getting and Storing a timestamp difference using PHP and MySQL
我正在為最終項目創建基本游戲; 整個站點已構建並可以使用,但是我無法使用一項功能。
功能是隨着時間的流逝,用戶的寵物統計信息將降低。
您與寵物的距離越長,他們的統計數據就會越低,直到它們“死亡”。 到目前為止,我正在嘗試使用以下代碼來計算兩次登錄之間的時間差:
$mod = mysqli_query($con,"select * from users where user_name='$user_name'");
while($row = mysqli_fetch_array($mod)){
$last_login = $row['last_login'];
$stored_login = $row['stored_login'];
$time_diff = ($last_login-$stored_login);
echo $time_diff;
$time_mod = mysqli_query($con,"update users set time_mod='$time_diff' where user_name='$user_name'");
}
last_login
和stored_login
都是TIMESTAMP
變量,我被告知我應該能夠輕松地減去它們以獲得解決方案。
但是,當我回顯該方程式時,它返回的都是0
。 我嘗試使用DATEDIFF
但是MySQL給我一個錯誤,說我不能使用它。 我只需要經過多少天-有什么辦法可以做到這一點?
如果有幫助,您可以在此處訪問測試版(創建帳戶或登錄):
username: a
password: a
您只需要像這樣使用strtotime轉換時間
$time_diff = (strtotime($last_login)-strtotime($stored_login));
echo $time_diff;
如果這不起作用,那么首先將它們轉換為strtotime並存儲在不同的變量中,然后像這樣減去它們
$last = strtotime($last_login);
$stored = strtotime($stored_login);
$time_diff = ($last-$stored);
echo $time_diff;
現在您可以像這樣使用日期函數轉換回時間
$newtime = date("m/d/Y",$time_diff);
echo $newtime = month/day/year
請記住,m / d / y是您要轉換的日期格式選擇。
也許您可以嘗試。 將行轉換為時間。
$last_login = strtotime($row['last_login']);
$stored_login = strtotime($row['stored_login']);
$time_diff = ($last_login - $stored_login);
echo $time_diff;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.