2010-09-01 31 views
1

如何計算以日期時間類型傳遞的5個minuet時間段的數量?MySQL/PHP - 通過時間

是否有可能?

//Update AP (+1 points every 5 mins) 

//   PLAN OF ACTION (for ap update)! 
// 1. check how long it has been since last update 
// 2. calculate how many 5 min periods has passed 
// 3. update $ap accordinly 
if ($last_ap_update != "0000-00-00 00:00:00"){ //Make sure last_ap_update has a value 


} 
else{ //If the last update is NULL, It must be players first page load. So set datetime equal to NOW 
    $query = "UPDATE `stats` SET `last_ap_update` = NOW() WHERE `member_id` = {$_SESSION['SESS_MEMBER_ID']}"; 
    $queryresult = @mysql_query($query); 
} 

回答

1

從當前unix時間戳減去過去的unix時間戳,然後將結果除以300(60 * 5)。

您可以通過一個MySQL日期時間轉換成Unix時間戳:

  • 使用SQL UNIX_TIMESTAMP 功能,即SELECT UNIX_TIMESTAMP(last_ap_update)

  • 傳遞一個時間字符串到 PHP的strtotime,即strtotime('2009-10-31 12:59:59');

+0

你可以發佈的代碼,我米有點新的PHP ....:] – user377419 2010-09-02 00:41:01