有人知道MySQL中有没有这样的函数吗?
更新
这不会输出任何有效的信息:
mysql> SELECT @@global.time_zone, @@session.time_zone;
+--------------------+---------------------+
| @@global.time_zone | @@session.time_zone |
+--------------------+---------------------+
| SYSTEM | SYSTEM |
+--------------------+---------------------+
或者MySQL本身不能确切地知道所使用的time_zone,这很好,我们可以在这里涉及PHP,只要我能得到有效的信息,而不是像SYSTEM…
可能是这样
select timediff(current_time(),utc_time())
通过这种方式,您不会直接获得时区值。
@@global。time_zone不能被使用,因为它是一个变量,它返回的值是'SYSTEM'。
如果您需要使用session SET TIME_ZONE =在更改了时区的会话中使用您的查询,那么您将使用@@session.time_zone获得该查询。如果查询@@global。time_zone,然后你得到'SYSTEM'。
如果使用now()和utc_time()尝试datediff、date_sub或timediff,那么可能会遇到转换问题。
但是上面建议的东西至少可以在某些服务器版本上使用。我的版本是5.5.43-37,是一个托管解决方案。
可能是这样
select timediff(current_time(),utc_time())
通过这种方式,您不会直接获得时区值。
@@global。time_zone不能被使用,因为它是一个变量,它返回的值是'SYSTEM'。
如果您需要使用session SET TIME_ZONE =在更改了时区的会话中使用您的查询,那么您将使用@@session.time_zone获得该查询。如果查询@@global。time_zone,然后你得到'SYSTEM'。
如果使用now()和utc_time()尝试datediff、date_sub或timediff,那么可能会遇到转换问题。
但是上面建议的东西至少可以在某些服务器版本上使用。我的版本是5.5.43-37,是一个托管解决方案。