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类完整实例

本文实例讲述了php实现带读写分离功能的MySQL类。分享给大家供大家参考,具体如下: 概述: 1. 根据sql语句判断是连接读库还是写库 2. 链式调用$this->where(...

php中mysql操作buffer用法详解

本文实例讲述了php中mysql操作buffer用法。分享给大家供大家参考。具体分析如下: php与mysql的连接有三种方式,mysql,mysqli,pdo。不管使用哪种方式进行连接...

PHP以及MYSQL日期比较方法

MYSQL日期比较 TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30; 我们的date_col必须是日期时间格式,而不能是时间戳, mysql>...

php mysql 判断update之后是否更新了的方法

首先我的建议是遇到问题摆渡一下,php手册翻上1001遍,问题迎刃而解。 我百度了一下,网友给的答案五花八门。 首先纠正百度来的一个错误的方法: 复制代码 代码如下: $sql = "u...

浅谈php中mysql与mysqli的区别分析

首先两个函数都是用来处理DB 的。首先, mysqli 连接是永久连接,而mysql是非永久连接。什么意思呢? mysql连接每当第二次使用的时候,都会重新打开一个新的进程,而mysql...