MySQL 地质时区管理

MySQL 地质时区管理

MySQL 地理时区管理

????? MySQL经常被人们用来建设网络数据库。这时候,MySQL服务器和WEB服务器或都运行在同一台计算机上,或者运行在不同的计算机上。但无论如何都是运行在同一个地理时区里。对数据库用户来说,即使他们散布在世界各地,即使他们在链接和访问MySQL服务器时需要调用一些PHP或java程序,那些程序也只能运行在与MySQ服务器同处一个时区的那台配套的WEB服务器上。用户不必关心时区管理的问题。

????? 可是,如果是一名WEB应用程序开发者,就不能不考虑MySQL服务器的时区管理问题,就不能不考虑怎么样才能用好MySQL服务器的时区管理能力问题:应该让WEB用户有机会看到他们自己的当地时间。通过这里的学习,大家想必已经知道这其实是一件很简单的事情:在WEB用户与MySQL服务器建立链接后执行一条必要命令 “SET time_zon=…”的命令;这条SQL命令已足以让WEB用户看到他自己的时间。

??? 在下面的例子里,MySQ服务器运行在CET时区里,所以让SQL函数now()第一返回的是CET时间,把time_zone变量调整为GMT-8时区后,now()函数返回的将是洛杉机的时区上的时间。

select now();
#结果
2005-12-07 16:29:54

SET time_zone='-8:00'; #或者是:SET @@session.time_zone='-8:00'
select now();
#结果
2005-12-07 8:29:54

?不同时区的自动转换和计算

下表列出会受到时区设置影响的MySQL数据类型和函数。

功能 会根据时区设置做出自动调整 不会根据时区设置作出自动调整
存储日期、时间数据确定当前时间 TIMESTAMP数据列;
NOW()、CURDATE()、CURRENT_XXX()、LOCALTIME()、SYSDATE()等函数
DATE、TIME和DATETIME数据列;
UNIX_TIMESTAMP()、UTC_DATE()、UTC_TIME()、UTC_TIMESTAMP()等函数
DATETIME与UNIX时间戳之间的相互转换;日期/时间的计算与输出格式 UNIX_TIMESTAMP(datetime)、 FROM_UNIXTIME(timestamp) 所有其他的日期/时间函数,如:ADDDATE()、SUBDATE()、 HOUR()、MINUTE()、DATE_FORMAT()、TIME_FORMAT()、CONVERT_TZ()等

?

?

?

?

?

?

?

MySQL 地质时区管理

相关文章:

你感兴趣的文章:

标签云: