How do I change MySQL timezone?
更新时间:2008年03月26日 22:09:39 作者:
The MySQL timezone is set to MST (-7 hours GMT/UTC) and is not configurable by you. MySQL is only capable of having 1 timezone setting per mysql daemon. Therefore, you cannot select NOW() and expect a result in a timezone other than MST.
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基于正则批量替换Img中src内容实现获取缩略图的功能示例
这篇文章主要介绍了PHP基于正则批量替换Img中src内容实现获取缩略图的功能,涉及php针对页面img元素的正则匹配与替换操作相关实现技巧,需要的朋友可以参考下2017-06-06php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法,需要的朋友可以参考下。2011-11-11
最新评论