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