Trước tiên, bạn cần đảm bảo rằng bảng mysql.time_zone_name đã được điền. Nếu nó trống, bạn có thể làm theo hướng dẫn trên trang này để điền nó:
http://dev.mysql.com/doc /refman/5.1/en/time-zone-support.html
Nó thường đơn giản như chạy một lệnh như thế này trong shell:
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql
Sau khi bảng đó được điền, bạn có thể sử dụng hàm CONVERT_TZ () để cập nhật các giá trị hiện có trong DB:
Dưới đây là hai ví dụ cho thấy cách nó chuyển đổi lịch ngày từ CET sang UTC trong mùa đông và mùa hè:
mysql> SELECT CONVERT_TZ('2010-01-22 12:00:00','CET','UTC');
+-----------------------------------------------+
| CONVERT_TZ('2010-01-22 12:00:00','CET','UTC') |
+-----------------------------------------------+
| 2010-01-22 11:00:00 |
+-----------------------------------------------+
1 row in set (0.00 sec)
mysql> SELECT CONVERT_TZ('2010-07-22 12:00:00','CET','UTC');
+-----------------------------------------------+
| CONVERT_TZ('2010-07-22 12:00:00','CET','UTC') |
+-----------------------------------------------+
| 2010-07-22 10:00:00 |
+-----------------------------------------------+
1 row in set (0.00 sec)