MySQL FROM_UNIXTIME()
hàm cho phép bạn trả về biểu diễn ngày tháng của dấu thời gian Unix.
Cụ thể hơn, nó trả về dấu thời gian Unix dưới dạng giá trị trong ‘YYYY-MM-DD HH:MM:SS’ hoặc YYYYMMDDHHMMSS định dạng, tùy thuộc vào việc hàm được sử dụng trong ngữ cảnh chuỗi hay số.
Cú pháp
Bạn có thể sử dụng một trong hai hình thức sau:
FROM_UNIXTIME(unix_timestamp) FROM_UNIXTIME(unix_timestamp,format)
unix_timestamp
đối số là giá trị dấu thời gian bên trong (ví dụ:giá trị này có thể được tạo bằng UNIX_TIMESTAMP()
chức năng).
Định dạng format
đối số cho phép bạn chỉ định cách định dạng kết quả. Xem bảng ở cuối bài viết này để biết các định dạng hợp lệ.
Ví dụ 1 - Cách sử dụng cơ bản
Dưới đây là một ví dụ để minh họa dạng cú pháp đầu tiên.
SELECT FROM_UNIXTIME(946562400) AS Result;
Kết quả:
+---------------------+ | Result | +---------------------+ | 1999-12-31 00:00:00 | +---------------------+
Ví dụ 2 - Giây phân số
Trong ví dụ này, tôi cung cấp một đối số bao gồm giây phân số.
SELECT FROM_UNIXTIME(946609199.999999) AS Result;
Kết quả:
+----------------------------+ | Result | +----------------------------+ | 1999-12-31 12:59:59.999999 | +----------------------------+
Ví dụ 3 - Định dạng Kết quả
Trong ví dụ này, tôi cung cấp đối số thứ hai, đối số này chỉ định cách định dạng kết quả.
SELECT FROM_UNIXTIME(946562400, '%W, %D %M %Y') AS Result;
Kết quả:
+----------------------------+ | Result | +----------------------------+ | Friday, 31st December 1999 | +----------------------------+
Và đây là một trong những bao gồm phần thời gian trong định dạng:
SELECT FROM_UNIXTIME(946609199, '%h:%i %p, %D %M %Y') AS Result;
Kết quả:
+------------------------------+ | Result | +------------------------------+ | 12:59 PM, 31st December 1999 | +------------------------------+
Ví dụ 4 - Ngữ cảnh dạng số
Nếu FROM_UNIXTIME()
được sử dụng trong ngữ cảnh số, ngày kết quả được cung cấp ở định dạng số.
Dưới đây là một ví dụ so sánh kết quả khi được sử dụng trong ngữ cảnh chuỗi với số.
SELECT FROM_UNIXTIME(946562400) As 'String', FROM_UNIXTIME(946562400) + 0 As 'Numeric';
Kết quả:
+---------------------+----------------+ | String | Numeric | +---------------------+----------------+ | 1999-12-31 00:00:00 | 19991231000000 | +---------------------+----------------+
Các thông số kỹ thuật có sẵn
Các thông số sau có thể được sử dụng để chỉ định định dạng trả về. Giá trị định dạng phải bắt đầu bằng dấu phần trăm (%
).
Specifier | Mô tả |
---|---|
%a | Tên ngày trong tuần viết tắt (Sun .. Sat ) |
%b | Tên tháng viết tắt (Jan .. Dec ) |
%c | Tháng, số (0 .. 12 ) |
%D | Ngày trong tháng với hậu tố tiếng Anh (0th , 1st , 2nd , 3rd ,…) |
%d | Ngày trong tháng, số (00 .. 31 ) |
%e | Ngày trong tháng, dạng số (0 .. 31 ) |
%f | Microseconds (000000 .. 999999 ) |
%H | Giờ (00 .. 23 ) |
%h | Giờ (01 .. 12 ) |
%I | Giờ (01 .. 12 ) |
%i | Phút, số (00 .. 59 ) |
%j | Ngày trong năm (001 .. 366 ) |
%k | Giờ (0 .. 23 ) |
%l | Giờ (1 .. 12 ) |
%M | Tên tháng (January .. Dec ) |
%m | Tháng, số (00 .. 12 ) |
%p | AM hoặc PM |
%r | Thời gian, 12 giờ (hh:mm:ss theo sau là AM hoặc PM ) |
%S | Giây (00 .. 59 ) |
%s | Giây (00 .. 59 ) |
%T | Thời gian, 24 giờ (hh:mm:ss ) |
%U | Tuần (00 .. 53 ), trong đó Chủ nhật là ngày đầu tiên trong tuần; WEEK() chế độ 0 |
%u | Tuần (00 .. 53 ), trong đó Thứ Hai là ngày đầu tiên trong tuần; WEEK() chế độ 1 |
%V | Tuần (01 .. 53 ), trong đó Chủ nhật là ngày đầu tiên trong tuần; WEEK() chế độ 2; được sử dụng với %X |
%v | Tuần (01 .. 53 ), trong đó Thứ Hai là ngày đầu tiên trong tuần; WEEK() chế độ 3; được sử dụng với %x |
%W | Tên ngày trong tuần (Sunday .. Saturday ) |
%w | Ngày trong tuần (0 =Chủ nhật .. 6 =Thứ Bảy) |
%X | Năm cho tuần trong đó Chủ nhật là ngày đầu tiên của tuần, là số, bốn chữ số; được sử dụng với %V |
%x | Năm trong tuần, trong đó Thứ Hai là ngày đầu tiên của tuần, là số, bốn chữ số; được sử dụng với %v |
%Y | Năm, số, bốn chữ số |
%y | Năm, số (hai chữ số) |
%% | Chữ % nhân vật |
% | x , cho bất kỳ “x nào ”Không được liệt kê ở trên |