ThinkPHP ialah rangka kerja pembangunan aplikasi web sumber terbuka yang membantu pembangun membina aplikasi dengan cepat berdasarkan bahasa PHP. Dalam aplikasi praktikal, pertanyaan masa adalah keperluan biasa Dalam artikel ini, kami akan memperkenalkan cara untuk melaksanakan pertanyaan masa di bawah rangka kerja ThinkPHP.
Cap masa merujuk kepada jumlah bilangan saat dari 0:00:00 pada 1 Januari 1970, Masa Min Greenwich hingga kini. Dalam ThinkPHP, anda boleh terus menggunakan fungsi cap masa() untuk mendapatkan cap masa masa semasa, atau anda boleh menggunakan fungsi strtotime() untuk menukar masa kepada cap masa.
Sebagai contoh, kita boleh menanyakan data dalam masa sejam terakhir:
$last_hour = time() - 3600; $data = Db::table('user')->where('create_time', '>', $last_hour)->select();
Dalam contoh di atas, fungsi time() mendapat cap masa masa semasa dan kemudian menolak 3600 saat untuk Dapatkan cap masa 1 jam yang lalu. Akhir sekali, gunakan fungsi where() untuk menapis rekod yang memenuhi kriteria.
Pertanyaan tarikh memerlukan penggunaan fungsi pemformatan tarikh. Dalam ThinkPHP, anda boleh menggunakan fungsi date() dan kaedah format() kelas DateTime untuk memformat tarikh.
Sebagai contoh, kita boleh menanyakan rekod sebelum hari ini:
$today = date('Y-m-d'); $data = Db::table('user')->where('create_time', '<', $today)->select();
Dalam contoh di atas, fungsi date() mendapat tarikh semasa, dan kemudian menggunakan fungsi where() untuk menapis masa penciptaan (create_time) Rekod dengan tarikh kurang daripada tarikh hari ini.
Pertanyaan tempoh masa perlu menggunakan pernyataan antara untuk mengehadkan julat pertanyaan. Dalam ThinkPHP, anda boleh menggunakan fungsi whereTime() atau fungsi whereBetween() untuk melaksanakan pertanyaan tempoh masa.
Sebagai contoh, kita boleh menanyakan rekod dari semalam hingga hari ini:
$start_time = date('Y-m-d 00:00:00', strtotime('-1 day')); $end_time = date('Y-m-d 23:59:59'); $data = Db::table('user')->whereTime('create_time', 'between', [$start_time, $end_time])->select();
Dalam contoh di atas, fungsi strtotime() menjana masa mula semalam dan anda juga boleh menggunakan cap waktu () berfungsi untuk mendapatkan cap masa. Kemudian gunakan fungsi whereTime() untuk menapis rekod yang sepadan dengan julat masa.
Pertanyaan selang masa perlu menggunakan fungsi where() digabungkan dengan pernyataan antara. Dalam ThinkPHP, anda juga boleh menggunakan fungsi whereBetweenTime() untuk melaksanakan pertanyaan selang masa.
Sebagai contoh, kita boleh menanyakan rekod dari 1 Mei hingga 1 Jun:
$start_time = date('Y-m-d H:i:s', strtotime('2019-05-01')); $end_time = date('Y-m-d H:i:s', strtotime('2019-06-01')); $data = Db::table('user')->where('create_time', 'between', [$start_time, $end_time])->select();
Dalam contoh di atas, gunakan fungsi strtotime() untuk mendapatkan masa mula dan masa tamat, dan kemudian Gunakan fungsi where() dan antara pernyataan untuk menapis rekod yang memenuhi keperluan.
Ringkasnya, pertanyaan masa ialah fungsi yang sangat praktikal yang boleh meningkatkan kecekapan analisis dan pemprosesan data. Di bawah rangka kerja ThinkPHP, adalah sangat mudah untuk melakukan pertanyaan masa berdasarkan cap waktu, tarikh, tempoh masa dan selang masa. Saya harap kandungan di atas dapat membantu semua.
Atas ialah kandungan terperinci Cara melaksanakan pertanyaan masa di bawah rangka kerja ThinkPHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!