×

Lấy ngày hiện tại theo giờ UTC với UTC_DATE trong MySQL

Trong MySQL, việc lấy ngày hiện tại theo giờ UTC có thể thực hiện một cách dễ dàng nhờ vào nhiều hàm khác nhau. Một trong số đó là hàm UTC_DATE, giúp lấy ngày hiện tại theo múi giờ UTC mà không bao gồm thời gian cụ thể trong ngày. Bài viết này sẽ hướng dẫn bạn cách sử dụng UTC_DATE và những hàm liên quan để quản lý thời gian trong cơ sở dữ liệu MySQL.

Sử dụng UTC_DATE

Hàm UTC_DATE trong MySQL trả về giá trị ngày hiện tại tính theo múi giờ UTC. Kết quả trả về luôn ở dạng 'YYYY-MM-DD', không có thành phần thời gian. Cú pháp đơn giản của hàm như sau:

SELECT UTC_DATE();

Ví dụ, nếu thời điểm hiện tại theo giờ UTC là ngày 15 tháng 10, năm 2023, câu lệnh trên sẽ trả về:

2023-10-15

Sự khác biệt giữa UTC_DATECURRENT_DATE

Hàm CURRENT_DATE cũng mang lại kết quả ngày hiện tại nhưng dựa trên múi giờ của hệ thống máy chủ thay vì UTC. Điều này nghĩa là nếu máy chủ của bạn nằm ở múi giờ GMT+7, CURRENT_DATE sẽ mang lại ngày hiện tại theo múi giờ GMT+7 trong khi UTC_DATE sẽ căn cứ theo giờ UTC.

SELECT CURRENT_DATE();
-- Kết quả phụ thuộc vào múi giờ của hệ thống

Lấy Giá Trị Ngày và Thời Gian Hiện Tại

Nếu bạn cần cả ngày và thời gian hiện tại theo giờ UTC, có thể sử dụng hàm UTC_TIMESTAMP hoặc UTC_TIME:

  • UTC_TIMESTAMP trả về ngày và giờ hiện tại.

    SELECT UTC_TIMESTAMP();
    -- Ví dụ kết quả: 2023-10-15 14:30:00
    
  • UTC_TIME chỉ trả về thành phần thời gian của ngày hiện tại.

    SELECT UTC_TIME();
    -- Ví dụ kết quả: 14:30:00
    

Ứng dụng trong Truy Vấn và Lập Lịch

Việc biết cách lấy mốc thời gian chuẩn UTC là cực kỳ quan trọng trong các ứng dụng toàn cầu, nơi dữ liệu được chia sẻ và so sánh giữa các múi giờ khác nhau. Dưới đây là một số ví dụ thực tế:

  1. Ghi nhận thời gian sự kiện: Đảm bảo rằng tất cả các sự kiện được ghi nhận với cùng một múi giờ để dễ dàng quản lý và truy vết.

    INSERT INTO events (event_name, event_timestamp) VALUES ('Meeting', UTC_TIMESTAMP());
    
  2. Báo cáo và phân tích dữ liệu: Dễ dàng so sánh các mốc thời gian từ khu vực khác nhau bằng cách sử dụng múi giờ chuẩn.

    SELECT * FROM events WHERE event_date = UTC_DATE();
    

Lời Kết

Sử dụng UTC_DATE và các hàm thời gian khác của MySQL là phương pháp hiệu quả để quản lý thời gian trong cơ sở dữ liệu, đặc biệt là trong các hệ thống toàn cầu. Các hàm này không chỉ giúp đồng bộ hóa dữ liệu mà còn giảm thiểu lỗi do sự chênh lệch múi giờ. Hy vọng rằng sau bài viết này, bạn đã nắm vững cách lấy ngày và thời gian hiện tại theo giờ UTC trong MySQL, và sẽ áp dụng thành công trong các dự án của mình.

Comments