2011-09-07 48 views
0

我有我的用戶在我的數據庫中的一些timedate信息。還有我的所有用戶的時區。如何檢索MySQL服務器時區,然後在php中進行轉換

任何時候用戶登錄到我的web上,顯示上一次登錄的mensage彈出窗口。此日期時間使用datetime格式和SERVER TIMEZONE(不包括用戶日期時間)存儲在mysql數據庫中。

所有這些簡單的:

mysql_query("UPDATE ".$this->tablename." SET last_login = NOW() 
WHERE email = '".$_SESSION['email_of_user']."';"); 

我要的是這個存儲時間值轉換到我的用戶時區(存儲在我的數據庫)。

+0

這可能是重複的:http://stackoverflow.com/questions/13/how-can-i-determine-a-web-users -time-zone – Cheesebaron

+0

什麼是datetime列的類型?日期時間或時間戳? – Karolis

回答

2

mysql function convert_tz

語法

CONVERT_TZ(DT,FROM_TZ,轉到to_tz)

例如

SELECT CONVERT_TZ('2004-01-01 12:00:00','SYSTEM','@user_timezone'); 

您已用戶時區存儲到數據庫中,
然後你可以做一個簡單的加入,當你想顯示上次用戶登錄時

1

如果我明白你想要做什麼,爲什麼不把所有事情都存儲爲UTC,然後在事實之後應用時區?