我需要帮助了解当我插入mysql数据库时,当我使用函数now()(在mysql中)时,mysql如何确定时区是什么。日期时间格式为YYYY-MM-DD 00:00:00。如何让用户在他们的位置获得合适的时间?
这个问题有意义吗?
感谢您的时间!
答案 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更改系统时区