Menukar Cap Masa kepada Tarikh dalam Pertanyaan MySQL
Apabila bekerja dengan cap masa dalam MySQL, selalunya terdapat keadaan di mana anda mungkin perlu menukarnya kepada format tarikh yang lebih mudah dibaca manusia. Ini amat berguna apabila mengeksport data ke fail teks atau memaparkan tarikh dalam aplikasi.
Satu kaedah biasa untuk mencapai penukaran ini ialah dengan menggunakan fungsi FROM_UNIXTIME(). Walau bagaimanapun, anda menyebut dalam soalan anda bahawa anda telah mencuba pendekatan ini tidak berjaya. Ini kerana FROM_UNIXTIME() hanya menukar cap masa kepada cap masa Unix, yang masih merupakan nilai angka.
Untuk menukar cap masa kepada tarikh yang betul, anda perlu menggunakan fungsi DATE_FORMAT() bersama-sama dengan FROM_UNIXTIME( ) seperti berikut:
DATE_FORMAT(FROM_UNIXTIME(`user.registration`), '%Y-%m-%d') AS 'formatted_date'
Coretan kod ini menunjukkan penukaran cap masa dalam lajur user.registration kepada tarikh dalam format 'yyyy-mm-dd' dan alias hasilnya sebagai 'formatted_date'.
Anda kemudiannya boleh memasukkan ungkapan ini ke dalam pertanyaan asal anda untuk mencapai output yang diingini. Berikut ialah contoh:
$sql = requestSQL("SELECT user.email, info.name, DATE_FORMAT(FROM_UNIXTIME(user.registration), '%Y-%m-%d') AS 'formatted_date', info.news FROM user, info WHERE user.id = info.id", "export members");
Sebaik sahaja anda melaksanakan pertanyaan yang diubah suai ini, anda akan mendapat medan formatted_date dalam fail teks dalam format 'yyyy-mm-dd' yang dikehendaki.
Atas ialah kandungan terperinci Bagaimana untuk Menukar Cap Waktu MySQL kepada Tarikh Boleh Dibaca Manusia?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!