How do I change MySQL timezone?

yipeiwu_com6年前Mysql基础


However, there are ways for you to get results that are in your preferred timezone. First determine how many hours your desired timezone is off from MST. For example, EST is +2 hours. PST is -1 hour.

Knowing the time offset, you can replace all your SQL statements of 


SELECT NOW();

with


SELECT DATE_ADD(NOW(), INTERVAL 2 HOUR);

which will give you an EST date result. For a result in PST, you would do:


SELECT DATE_SUB(NOW(), INTERVAL 1 HOUR);

If you are working with time in seconds instead of dates, then factor in the offset in seconds. Because there are 3600 seconds in an hour, and EST is 2 hours later than MST, the following converts timestamps from MST to EST:


SELECT unix_timestamp() + (3600 * 2);

SELECT FROM_UNIXTIME(UNIX_TIMESTAMP() + (3600 * 2));

See the MySQL Manual's Date and Time Functions for more information.

Depending on your application, you may also need to do one of the following (but not both):

1. Find every place in your code where a date or time is displayed to the browser and have a user defined function change it to add or subtract the appropriate number of hours before displaying it.

2. Find every place in your code where dates or times are input into your system and have a user defined function add or subtract the appropriate number of hours before storing it.

相关文章

php+mysql事务rollback&commit示例

mysql_query("BEGIN");//开始一个事务 mysql_query("SET AUTOCOMMIT=0"); //设置事务不自动commit $insert="INSER...

mysql时区问题

用convert_tz转换时区,你可以用      show   variables  ...

mysqli扩展无法在PHP7下升级问题的解决

mysqli扩展无法在PHP7下升级问题的解决

前言 这几天在想部署一个OAuth服务,找了一个PHP的开源实现,由于要求的PHP版本比较高,就打算在自己的ECS上(PHP7.1)先测试下,没想到遇到了一些问题。 首先发现mysqli...

mysql4.1以上版本连接时出现Client does not support authentication protocol问题解决办法

mysql4.1以上版本连接时出现Client does not support authentication protocol问题解决...

PHP实现利用MySQL保存session的方法

session是PHP程序设计中服务器端用来保存用户信息的一个变量,具有非常广泛的应用价值。本文实例讲述了PHP实现利用MySQL保存session的方法。分享给大家供大家参考之用。具体...