Trong MySQL, bạn có thể chuyển đổi giá trị ngày giờ giữa múi giờ này sang múi giờ khác bằng cách sử dụng CONVERT_TZ()
hàm số. Hàm này chấp nhận 3 đối số; giá trị ngày giờ, múi giờ gốc và múi giờ cần chuyển đổi thành.
Cú pháp và ví dụ bên dưới.
Cú pháp
Đây là cú pháp:
CONVERT_TZ(dt,from_tz,to_tz)
Ở đâu dt
là ngày / giờ, from_tz
là múi giờ gốc và to_tz
là múi giờ để chuyển đổi thành.
Ví dụ
Đây là một ví dụ về cách sử dụng.
SELECT CONVERT_TZ('2020-12-01 01:00:00','+00:00','+08:00') AS Result;
Kết quả:
+---------------------+ | Result | +---------------------+ | 2020-12-01 09:00:00 | +---------------------+
Múi giờ được đặt tên
Bạn cũng có thể sử dụng múi giờ đã đặt tên, chẳng hạn như 'US/Eastern'
, 'Europe/Moscow'
, 'MET'
, v.v.
Để làm điều này, trước tiên bạn cần thiết lập các bảng múi giờ. Quy trình cài đặt MySQL tạo các bảng múi giờ, nhưng nó không tải chúng. Do đó, trước tiên bạn cần điền các bảng này vào.
Nếu bạn cố gắng sử dụng múi giờ đã đặt tên với chức năng này mà không điền vào bảng múi giờ trước, bạn sẽ nhận được giá trị null.
SELECT CONVERT_TZ('2020-12-01 01:00:00','Europe/Helsinki','US/Eastern') AS Result;
Kết quả:
+--------+ | Result | +--------+ | NULL | +--------+
Lưu ý rằng ngay cả khi bạn điền các bảng múi giờ, bạn có thể cần phải cập nhật chúng theo định kỳ. Điều này là do thông tin đôi khi có thể thay đổi. Để biết thêm thông tin về điều này, hãy xem Hỗ trợ Múi giờ Máy chủ MySQL trên trang web tài liệu MySQL.