Hitung perbedaan antara dua datetimes di MySQL


Jawaban:


296

GUNAKAN TIMESTAMPDIFFfungsi MySQL. Misalnya, Anda dapat menggunakan:

SELECT TIMESTAMPDIFF(SECOND, '2012-06-06 13:13:55', '2012-06-06 15:20:18')

Dalam kasus Anda, parameter TIMSTAMPDIFFfungsi ketiga adalah waktu login saat ini ( NOW()). Parameter kedua adalah waktu login terakhir, yang sudah ada dalam database.


Yaitu untuk memperbarui login terakhir kan ?? apa yang saya inginkan adalah seperti di stackoverflow pertanyaan Anda diposting 2s lalu, 30s lalu, 2 menit yang lalu .. dll. Saya ingin fungsionalitas yang serupa. Misalnya ada satu tabel mengatakan REQUESTS (id, message, timestamp). cap waktu saat menyimpan akan SEKARANG (). saat saya menjalankan kueri, pilih * dari permintaan, alih-alih menampilkan nilai yang seharusnya ditampilkan id, pesan, dan berapa lama permintaan balik dikirim.
Devesh Agrawal

1
Saat saya menjalankan kueri SELECT TIMESTAMPDIFF (KEDUA, SEKARANG (), 'pilih lastLoginTime dari permintaan di mana id =' 2 '') .. Kembali NULL. Tahu kenapa ??
Devesh Agrawal

apa output dari lastLoginTime pilih dari permintaan di mana id = '2'?
FSP

SELECT TIMESTAMPDIFF (SECOND, NOW (), '2012-06-06 08:07:36'); Coba ini!
FSP

YES yang berfungsi, Tetapi saya perlu mengambil parameter kedua dari tabel. Bagaimana mencapainya. Infact saya ingin menghindari permintaan bersarang. Ada ide?
Devesh Agrawal

3

dua sen saya tentang logika:

sintaks adalah "tanggal lama" -: "tanggal baru", jadi:

SELECT TIMESTAMPDIFF(SECOND, '2018-11-15 15:00:00', '2018-11-15 15:00:30')

memberi 30,

SELECT TIMESTAMPDIFF(SECOND, '2018-11-15 15:00:55', '2018-11-15 15:00:15')

memberi: -40


2

Jika data awal dan akhir Anda pada hari yang berbeda, gunakan TIMEDIFF.

SELECT TIMEDIFF(datetime1,datetime2)

jika datetime1> datetime2 maka

SELECT TIMEDIFF("2019-02-20 23:46:00","2019-02-19 23:45:00")

memberi: 24:01:00

dan datetime1 <datetime2

SELECT TIMEDIFF("2019-02-19 23:45:00","2019-02-20 23:46:00")

memberi: -24: 01: 00


Catatan, hanya dapat mengatasi tanggal hingga 839 jam terpisah
Caius Jard
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.