2013-07-23 93 views
-1

我真的很抱歉,如果這個問題已經得到解答。如果是這樣,請將我重定向到正確的主題或網站。我無法找到我期待的問題和答案。PHP和MYSQL遊戲計時器比較

所以這是我的問題。我正在考慮構建一個瀏覽器遊戲,並且我非常熟悉PHP和MySQL。但我唯一的麻煩(現在)與計時器。

我想要做什麼:

用戶按下網頁上的按鈕(可以說)提升等級的建築物或別的什麼東西。 升級進度需要2個小時。我確實設法使用PHP獲得當前時間,並且我認爲我可以設法在當時增加兩個小時。所以我可以將它存儲在數據庫中。 但我的問題是:

  • 如何格式化PHP日期和時間以適合MySQL? (我已經看到很多strtotime()和類似的方法,但我似乎無法得到它的竅門,因爲它不能真正解決我的問題)
  • 我應該使用哪種類型的列?有很多類型,如日期時間,時間戳等。
  • 頁面刷新我想從數據庫中獲取時間戳並將其與當前時間進行比較。所以我可以看看它是否已經過期。如果沒有,我會顯示剩餘幾天,幾小時,幾分鐘或幾秒鐘。 (我不需要代碼真正的倒數計時器,這是我真的要編碼時的東西)。

這也將用於資源和攻擊等事情。 但首先我想知道這是否甚至可能以我想的方式。 如果不是,或者如果有更好的方法,比如使用ruby,python或任何其他語言來做,我很想知道應該看什麼和在哪裏。我願意學習其他語言來做到這一點。

現在我真的不需要(如果這樣做了,我會非常欣賞它的課程)任何你爲我寫的。關於什麼和在哪裏看的信息已經非常感謝。

任何幫助將不勝感激!

乾杯,

Clemenz

回答

1

我使用DateTime類格式化日期的大部分時間。

$date = new DateTime('NOW'); //'NOW' could be datetime from database 
$formattedDate = $date->format("M j, Y, g:i A"); 

並使用可以得到的時間之間的區別:

$d1=new DateTime("2012-07-09 11:14:15"); 
$d2=new DateTime("2012-07-08 11:14:15"); 
$diff=$d2->diff($d1); 
print_r($diff) ; 

類的DateTime參考:http://php.net/manual/en/class.datetime.php

您可以使用列在數據庫中,通過@DaveChen

+0

如果這些列正在使用[ISO 8601](http://en.wikipedia.org/wiki/ISO_8601),那麼您可以在不使用任何數據庫功能的情況下進行排序。 +1 –