Để 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 |
|---|---|
%Y | Năm 4 chữ số |
%m | Tháng 2 chữ số (01-12) |
%d | Ngày 2 chữ số (01-31) |
%H | Giờ 24h (00-23) |
%i | Phút (00-59) |
%s | Giâ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.