Ingat bahwa jika Anda menggunakan kerangka kerja yang menyimpannya dalam milidetik (misalnya cap waktu Java) Anda harus membaginya dengan 1000 untuk mendapatkan waktu Unix yang tepat dalam hitungan detik.
Hanya karena saya sudah melakukan ini dan bingung pada output: MySQL menyimpan waktu Unix dalam hitungan detik, sedangkan banyak kerangka kerja lain menyimpannya dalam milidetik (mis. Stempel waktu Java). Jadi ingatlah untuk membagi dengan 1000 jika Anda menggunakan fungsi ini pada data yang berasal dari suatu tempat yang menggunakan millis untuk waktu Unix.
Tampaknya jelas untuk membandingkan waktu unix dari waktu unix. Saya menggunakan SELECT (CAST (DATE_FORMAT (from_unixtime (UNIX_TIMESTAMP (CURRENT_TIMESTAMP)), '% Y-% m-% d') sebagai DATE) <CAST ('2019-05-02' AS DATE)); untuk membandingkan tanggal, saya mengganti 2019-05 * 02 objek datetime yang diformat di php. Terima kasih.
Mantisse
1
Tolong jangan jawab cara ini untuk pertanyaan yang berbeda dari yang asli.
Paweł Stankowski
Ini tidak menjawab pertanyaan asli dengan cara apa pun
Jawaban:
Gunakan
FROM_UNIXTIME()
fungsi di MySQLIngat bahwa jika Anda menggunakan kerangka kerja yang menyimpannya dalam milidetik (misalnya cap waktu Java) Anda harus membaginya dengan 1000 untuk mendapatkan waktu Unix yang tepat dalam hitungan detik.
sumber
SELECT from_unixtime( TIMESTAMP( "2011-12-01", "22:01:23.048" ) )
tidak bekerja Mengapa? menggunakan v5.6SELECT from_unixtime( unix_timestamp(TIMESTAMP( "2011-12-01", "22:01:23.048" ) ) )
bekerja.TIMESTAMP()
tidak mengembalikan nilai integer.Ini adalah solusi akhir jika tanggal yang diberikan dalam format seperti
1300464000
sumber
DATE_FORMAT(FROM_UNIXTIME(`orderdate`), '%d-%m-%Y %H:%i:%s') as "Date" FROM `orders`
orderdate
), '% Y-% m-% d') sebagai "Tanggal" FROMorders
akan menjadi solusi akhir: DUntuk menjawab komentar Janus Troelsen
Gunakan UNIX_TIMESTAMP sebagai ganti TIMESTAMP
Fungsi TIMESTAMP mengembalikan Tanggal atau DateTime dan bukan cap waktu, sedangkan UNIX_TIMESTAMP mengembalikan cap waktu unix
sumber
Kamu bisa memakai
Untuk deskripsi detail tentang
sumber
SELECT from_unixtime( UNIX_TIMESTAMP(fild_with_timestamp) ) from "your_table"
Ini bekerja untuk saya
sumber