2
我想使用具有特定時區的NOW()
函數,例如對於用戶爲GMT + 8,對另一個用戶爲GMT-2。我怎樣才能做到這一點?mySQL TIME函數和時區
我猜測NOW()
的時間與SQL服務器的時區和時間有一定的關係,但我希望FN(GMT + 8)始終給我GMT + 8的NOW()
,無論如何SQL服務器所在的時區。
小問題:我如何顯示/瞭解SQL服務器的當前時間?
我想使用具有特定時區的NOW()
函數,例如對於用戶爲GMT + 8,對另一個用戶爲GMT-2。我怎樣才能做到這一點?mySQL TIME函數和時區
我猜測NOW()
的時間與SQL服務器的時區和時間有一定的關係,但我希望FN(GMT + 8)始終給我GMT + 8的NOW()
,無論如何SQL服務器所在的時區。
小問題:我如何顯示/瞭解SQL服務器的當前時間?
NOW()
函數提供服務器本地時區中的當前時間。如果你想轉換到不同的時區,你可以使用CONVERT_TZ()
UPDATE:
可以使用每個連接的時區(不影響系統時區),並得到你想要的效果:
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2011-06-03 22:40:51 |
+---------------------+
1 row in set (0.00 sec)
mysql> SET time_zone = '+08:00';
Query OK, 0 rows affected (0.00 sec)
mysql> select now();
+---------------------+
| now() |
+---------------------+
| 2011-06-04 10:41:15 |
+---------------------+
1 row in set (0.00 sec)
良好的通話...通常我這樣做,但我今晚分心了這個閃亮的新MacBook Pro:p謝謝! – 2011-06-04 03:21:30
謝謝!使用CONVERT_TZ(),我需要知道CONVERT_TZ()的第二個參數的服務器的時區,還是有辦法將第二個參數設置爲服務器的時區? – Nyxynyx 2011-06-04 03:34:01
因此,如果您想使用'CONVERT_TZ()'將FROM服務器時間(+08:00)轉換爲其他時間(例如美國東部),則用法爲:'SELECT CONVERT_TZ(NOW(),@@ session.time_zone ,' - 04:00')' – 2011-06-04 03:44:17