Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Chuyển đổi UNIX timestamp sang định dạng ngày giờ đọc được trong MySQL

Để chuyển timestamp UNIX (số giây từ 1970-01-01) sang định dạng ngày tháng năm giờ phút giây, dùng hàm FROM_UNIXTIME().

Ví dụ minh họa

Tạo bảng và chèn timestamp:

CREATE TABLE timeConversionDemo (
    dateTimeConversion BIGINT
);

INSERT INTO timeConversionDemo VALUES (1554316200);
INSERT INTO timeConversionDemo VALUES (1546194600);
INSERT INTO timeConversionDemo VALUES (1511548200);

Dữ liệu gốc (số giây):

+--------------------+
| dateTimeConversion |
+--------------------+
| 1554316200         |
| 1546194600         |
| 1511548200         |
+--------------------+

Chuyển sang định dạng dd-mm-yyyy:

SELECT FROM_UNIXTIME(dateTimeConversion, '%d-%m-%Y') AS Conversion
FROM timeConversionDemo;

Kết quả:

+------------+
| Conversion |
+------------+
| 04-04-2019 |
| 31-12-2018 |
| 25-11-2017 |
+------------+

Chuyển sang định dạng MySQL chuẩn YYYY-MM-DD:

SELECT FROM_UNIXTIME(dateTimeConversion, '%Y-%m-%d') AS Conversion
FROM timeConversionDemo;

Kết quả:

+------------+
| Conversion |
+------------+
| 2019-04-04 |
| 2018-12-31 |
| 2017-11-25 |
+------------+

Các format specifier thường dùng

SpecifierÝ nghĩa
%YNăm 4 chữ số
%mTháng 2 chữ số (01-12)
%dNgày 2 chữ số (01-31)
%HGiờ 24h (00-23)
%iPhút (00-59)
%sGiây (00-59)

Lưu ý: FROM_UNIXTIME() trả về kiểu DATETIME (nếu có giờ) hoặc DATE (chỉ format ngày). Giá trị NULL nếu input NULL.