2011-09-14 23 views
1

我需要幫助瞭解mysql如何確定什麼時區是當我使用函數now()(在MySQL中)當我插入到mysql數據庫。日期時間格式爲YYYY-MM-DD 00:00:00。你如何讓用戶在他們的位置獲得正確的時間?幫我理解()mysql當前時間和它的時區

這個問題有意義嗎?

謝謝你的時間!

+0

你指的是PHP now()函數或mysql now()函數。只是澄清。 –

+0

-1 mysql now()函數 – ajreal

+0

中沒有'now()'函數謝謝你給了我一個我期待的例子。 – hellomello

回答

3

now()始終指從其時區開始的服務器時間。

如果你有服務器和用戶時區,
可以通過功能convert_tz完成,

set @user_time_zone:='+02:00'; 
set @server_time_zone:='+08:00'; 

-- server timezone always come first 
-- as now() is from server time 
SELECT CONVERT_TZ(now(),@server_time_zone, @user_time_zone); 
+0

在php – hellomello

1

你的日期時間格式YYYY-MM-DD 00:00:00沒有時區信息,所以這是無關緊要的,其時區用戶在。

NOW()使用系統的時間。

1

now()函數返回系統時間決定你的服務器的時間和位置! mysql不能爲你做這個,這是你程序的工作!

1

系統時區由system_time_zone變量控制。 您可以使用查看當前系統時區在mysql提示

SELECT @@system_time_zone; 

系統時區可以使用MySQL服務器選項--timezone = TIMEZONE_NAME改變以下

相關問題