Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menukar Keputusan MySQL TIMEDIFF kepada Format Hari, Jam, Minit dan Kedua?
Masalah:
Apabila mengira masa perbezaan antara dua waktu tarikh menggunakan TIMEDIFF(masa akhir, masa mula) dalam MySQL, ia mengembalikan hasil dalam format seperti "116:12:10", menunjukkan jam, minit dan saat. Walau bagaimanapun, format yang dikehendaki ialah "4 hari 20 jam, 12 minit, dsb."
Penyelesaian:
Untuk mencapai format yang diingini, anda boleh menggunakan pertanyaan berikut :
<code class="sql">SELECT CONCAT( FLOOR(HOUR(TIMEDIFF(`end_time`, `start_time`)) / 24), ' days ', MOD(HOUR(TIMEDIFF(`end_time`, `start_time`)), 24), ' hours ', MINUTE(TIMEDIFF(`end_time`, `start_time`)), ' minutes')</code>
Contoh Penggunaan:
Ganti end_time dan start_time dengan tarikh tertentu anda:
<code class="sql">SELECT CONCAT( FLOOR(HOUR(TIMEDIFF('2023-03-08 12:34', '2023-03-01 16:45')) / 24), ' days ', MOD(HOUR(TIMEDIFF('2023-03-08 12:34', '2023-03-01 16:45')), 24), ' hours ', MINUTE(TIMEDIFF('2023-03-08 12:34', '2023-03-01 16:45')), ' minutes')</code>
Nota:
Penyelesaian ini hanya sesuai untuk perbezaan masa dalam tempoh 35 hari. Jika anda menjangkakan perbezaan masa lebih daripada 35 hari, pertimbangkan untuk menggunakan TIMESTAMPDIFF sebaliknya.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Keputusan MySQL TIMEDIFF kepada Format Hari, Jam, Minit dan Kedua?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!