MySQL FROM_UNIXTIME()
fungsi memungkinkan Anda mengembalikan representasi tanggal dari stempel waktu Unix.
Lebih khusus lagi, ini mengembalikan cap waktu Unix sebagai nilai dalam 'YYYY-MM-DD HH:MM:SS' atau YYYYMMDDDHHMMSS format, tergantung pada apakah fungsi tersebut digunakan dalam konteks string atau numerik.
Sintaks
Anda dapat menggunakan salah satu dari dua formulir berikut:
FROM_UNIXTIME(unix_timestamp) FROM_UNIXTIME(unix_timestamp,format)
unix_timestamp
argumen adalah nilai stempel waktu internal (misalnya, ini dapat dihasilkan dengan UNIX_TIMESTAMP()
fungsi).
format
(opsional) argumen memungkinkan Anda untuk menentukan bagaimana hasil harus diformat. Lihat tabel di bagian bawah artikel ini untuk format yang valid.
Contoh 1 – Penggunaan Dasar
Berikut adalah contoh untuk mendemonstrasikan bentuk sintaks pertama.
SELECT FROM_UNIXTIME(946562400) AS Result;
Hasil:
+---------------------+ | Result | +---------------------+ | 1999-12-31 00:00:00 | +---------------------+
Contoh 2 – Detik Pecahan
Dalam contoh ini, saya memberikan argumen yang menyertakan pecahan detik.
SELECT FROM_UNIXTIME(946609199.999999) AS Result;
Hasil:
+----------------------------+ | Result | +----------------------------+ | 1999-12-31 12:59:59.999999 | +----------------------------+
Contoh 3 – Memformat Hasil
Dalam contoh ini, saya memberikan argumen kedua, yang menentukan bagaimana hasilnya akan diformat.
SELECT FROM_UNIXTIME(946562400, '%W, %D %M %Y') AS Result;
Hasil:
+----------------------------+ | Result | +----------------------------+ | Friday, 31st December 1999 | +----------------------------+
Dan inilah salah satu yang menyertakan bagian waktu dalam pemformatan:
SELECT FROM_UNIXTIME(946609199, '%h:%i %p, %D %M %Y') AS Result;
Hasil:
+------------------------------+ | Result | +------------------------------+ | 12:59 PM, 31st December 1999 | +------------------------------+
Contoh 4 – Konteks Numerik
Jika FROM_UNIXTIME()
digunakan dalam konteks numerik, tanggal yang dihasilkan disediakan dalam format numerik.
Berikut adalah contoh yang membandingkan hasil saat digunakan dalam konteks string vs numerik.
SELECT FROM_UNIXTIME(946562400) As 'String', FROM_UNIXTIME(946562400) + 0 As 'Numeric';
Hasil:
+---------------------+----------------+ | String | Numeric | +---------------------+----------------+ | 1999-12-31 00:00:00 | 19991231000000 | +---------------------+----------------+
Penentu yang Tersedia
Penentu berikut dapat digunakan untuk menentukan format pengembalian. Nilai format harus dimulai dengan tanda persentase (%
).
Specifier | Deskripsi |
---|---|
%a | Singkat nama hari kerja (Sun ..Sat ) |
%b | Nama bulan disingkat (Jan ..Dec ) |
%c | Bulan, numerik (0 ..12 ) |
%D | Hari dalam sebulan dengan akhiran bahasa Inggris (0th , 1st , 2nd , 3rd , …) |
%d | Hari dalam sebulan, numerik (00 ..31 ) |
%e | Hari dalam sebulan, numerik (0 ..31 ) |
%f | Mikrodetik (000000 ..999999 ) |
%H | Jam (00 ..23 ) |
%h | Jam (01 ..12 ) |
%I | Jam (01 ..12 ) |
%i | Menit, numerik (00 ..59 ) |
%j | Hari dalam setahun (001 ..366 ) |
%k | Jam (0 ..23 ) |
%l | Jam (1st ..12 ) |
%M | Nama bulan (January ..December ) |
%m | Bulan, numerik (00 ..12 ) |
%p | AM atau PM |
%r | Waktu, 12 jam (hh:mm:ss diikuti oleh AM atau PM ) |
%S | Detik (00 ..59 ) |
%s | Detik (00 ..59 ) |
%T | Waktu, 24 jam (hh:mm:ss ) |
%U | Minggu (00 ..53 ), di mana hari Minggu adalah hari pertama dalam seminggu; WEEK() modus 0 |
%u | Minggu (00 ..53 ), di mana Senin adalah hari pertama dalam seminggu; WEEK() mode 1 |
%V | Minggu (01 ..53 ), di mana hari Minggu adalah hari pertama dalam seminggu; WEEK() modus 2; digunakan dengan %X |
%v | Minggu (01 ..53 ), di mana Senin adalah hari pertama dalam seminggu; WEEK() modus 3; digunakan dengan %x |
%W | Nama hari kerja (Sunday ..Saturday ) |
%w | Hari dalam seminggu (0 =Minggu..6 =Sabtu) |
%X | Tahun untuk minggu di mana hari Minggu adalah hari pertama dalam seminggu, numerik, empat digit; digunakan dengan %V |
%x | Tahun untuk minggu, di mana Senin adalah hari pertama dalam seminggu, numerik, empat digit; digunakan dengan %v |
%Y | Tahun, numerik, empat digit |
%y | Tahun, numerik (dua digit) |
%% | Sebuah % literal karakter |
% | x , untuk setiap “x ” tidak tercantum di atas |