帮我理解now()的mysql当前时间及其时区

时间:2011-09-14 05:27:48

标签: php mysql datetime time timezone

我需要帮助了解当我插入mysql数据库时,当我使用函数now()(在mysql中)时,mysql如何确定时区是什么。日期时间格式为YYYY-MM-DD 00:00:00。如何让用户在他们的位置获得合适的时间?

这个问题有意义吗?

感谢您的时间!

4 个答案:

答案 0 :(得分: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);

答案 1 :(得分:1)

您的日期时间格式YYYY-MM-DD 00:00:00没有时区信息,因此与用户所在的时区无关。

NOW()使用系统的时间。

答案 2 :(得分:1)

now()函数返回系统时间确定服务器的时间和位置! mysql不能为你做这个,这是你的程序的工作!!

答案 3 :(得分:1)

系统时区由system_time_zone变量控制。 您可以使用mysql提示中的以下内容查看当前系统时区

SELECT @@system_time_zone;

可以使用mysql服务器选项

中的--timezone = timezone_name更改系统时区