Đôi khi bạn có thể cần thay đổi múi giờ thành UTC hoặc đặt múi giờ thành UTC. Trong bài viết này, chúng ta sẽ xem xét cách chuyển đổi datetime sang UTC trong MySQL.
Cách chuyển đổi datetime sang UTC trong MySQL
Dưới đây là các bước để chuyển đổi datetime sang UTC trong MySQL. Bạn có thể dễ dàng thay đổi ngày giờ thành UTC bằng cách sử dụng convert_tz chức năng.
Đây là cú pháp cho convert_tz
convert_tz(date_value, original_timezone, new_timezone)
Trong hàm trên, bạn có thể chỉ định giá trị ngày dưới dạng chuỗi ký tự, hàm hệ thống hoặc tên cột, múi giờ ban đầu cũng như múi giờ mới của nó. Múi giờ gốc và múi giờ mới có thể được chỉ định bằng cách sử dụng hiệu số hoặc tên múi giờ.
Đây là một ví dụ để chuyển đổi giá trị ngày giờ từ múi giờ địa phương (GMT + 10:00) sang UTC (+00:00). Theo mặc định, bạn cần chỉ định múi giờ gốc (+10:00) và múi giờ mới (+00:00) làm hiệu số so với UTC.
mysql> SELECT CONVERT_TZ('2018-06-15 12:00:00','+10:00','+00:00'); +-----------------------------------------------------+ | CONVERT_TZ('2018-06-15 12:00:00','+00:00','+10:00') | +-----------------------------------------------------+ | 2018-06-15 02:00:00 | +-----------------------------------------------------+
Tương tự, bạn cũng có thể chuyển đổi các cột ngày, giờ, ngày giờ bằng convert_tz. Dưới đây là một ví dụ để thay đổi múi giờ của order_date trong doanh số bán hàng bảng, từ UTC đến EST
mysql> select convert_tz(order_date,'+10:00','+00:00') from sales; +------------------------------------------+ | convert_tz(order_date,'+10:00','+00:00') | +------------------------------------------+ | 2020-05-03 19:00:00 | | 2020-05-04 19:00:00 | | 2020-05-05 19:00:00 | | ... | | 2020-05-13 19:00:00 | +------------------------------------------+
Bạn cũng có thể chỉ định múi giờ thay vì hiệu số. Tuy nhiên, trong trường hợp này, bạn sẽ cần tải xuống và cài đặt múi giờ MySQL trên máy chủ của mình. Dưới đây là một ví dụ để chuyển đổi EST sang múi giờ UTC bằng cách chỉ định tên múi giờ thay vì giá trị chênh lệch.
mysql> select convert_tz('2020-09-17 03:00:00','US/Eastern','UTC');
Hy vọng rằng bây giờ bạn có thể chuyển đổi datetime sang UTC trong MySQL.
Ubiq giúp dễ dàng trực quan hóa dữ liệu trong vài phút và theo dõi trong trang tổng quan thời gian thực. Thử nó ngay hôm nay!