2011-02-14 52 views
2

我犯了出生在新西蘭的錯誤,現在必須弄清楚如何在我的服務器上添加15個小時的時間!希望有任何想法。添加時間CURRENT_TIMESTAMP

目前我使用的是:

mysql_query(" 
INSERT INTO articles (Id, DateAdded) 
VALUES ('" . $currentid . "', CURRENT_TIMESTAMP) 
"); 

我想這是關係到How do I add months to a CURRENT_TIMESTAMP in SQL?

試過DATEADD(month,1,CURRENT_TIMESTAMP)無濟於事到位CURRENT_TIMESTAMP

+1

我的哀悼。你有沒有嘗試正確設置你的時區? – deceze 2011-02-14 07:27:57

+0

你的意思是服務器範圍內的?如果是這樣,我使用的是不允許您更改服務器時區的蹩腳的共享服務器。 – Jamie 2011-02-14 07:30:26

回答

3

的對於這個問題,最好,如果你change the server's timezone

此外,更好的方法是將服務器的時區設置爲UTC(或GMT-0),然後翻譯UI層上的所有日期。這樣你就可以擁有一個全球化的應用程序,它可以正確地向所有用戶顯示日期(想想gmail)。爲此,您當然需要每個用戶的時區首選項。

如果您不能永久更改服務器上的時區(因爲你是一個共享的主機),那麼你就需要使用以下查詢每次連接到數據庫時設置時區:

SET time_zone = '-8:00'; 

最後,要做時間運算,你可以試試:

addtime(current_timestamp, '15:00')