Thinkphp中日期時間區間查詢以及whereTime用法


使用where和whereTime方法進行時間的比較查詢
where用法

// 查詢大於等於指定時間的數據
Db::table('article')->where('create_time','>=','2020-12-10')->select();

// 查詢小於指定時間的數據
Db::table('article')->where('create_time','<','2020-12-10')->select();

// 查詢指定時間區的數據
Db::table('article')->where('create_time','between time',['2020-12-1','2020-12-10'])->select(); 

whereTime用法: 可以看用法其實和上面的where基本沒什么區別

// 查詢大於等於指定時間的數據
Db::table('article')->whereTime('create_time','>=','2020-12-10')->select();

// 查詢小於指定時間的數據
Db::table('article')->whereTime('create_time','<','2020-12-10')->select();

// 查詢指定時間區的數據
Db::table('article')->whereTime('create_time','between time',['2020-12-1','2020-12-10'])->select();

// 查詢不在指定時間區的數據
Db::table('article')->whereTime('create_time','not between time',['2020-12-1','2020-12-10'])->select(); 

  

whereTime時間表達式,提供字符串標識符

重點是下面這些用法,非常經典,前端只需要提供字符串標識

下面這些實際上最終執行的是這樣的sql語句,如果數據庫的時間字段是時間戳形式的,真是用着非常爽
"SELECT COUNT(*) AS tp_count FROM `article` WHERE `create_time` BETWEEN 1577808000 AND 1609430399"

// 查詢今天的文章
Db::table('article') ->whereTime('create_time', 'today')->select();
// 查詢昨天的文章
Db::table('article')->whereTime('create_time', 'yesterday')->select();
// 查詢本周的文章
Db::table('article')->whereTime('create_time', 'week')->select();
// 查詢上周的文章
Db::table('article')->whereTime('create_time', 'last week')->select();
// 查詢本月的文章
Db::table('article')->whereTime('create_time', 'month')->select();
// 查詢上月的文章
Db::table('article')->whereTime('create_time', 'last month')->select();
// 查詢今年的文章
Db::table('article')->whereTime('create_time', 'year')->select();
// 查詢去年的文章
Db::table('article')->whereTime('create_time', 'last year')->select();

如果使用上面的whereTime查詢當天、本周、本月和今年的時間,還有下面這些簡寫形式

// 查詢今天的文章
Db::table('article')->whereTime('create_time', 'd')->select();
// 查詢本周的文章
Db::table('article')->whereTime('create_time', 'w')->select();
// 查詢本月的文章
Db::table('article')->whereTime('create_time', 'm')->select();
// 查詢今年的文章
Db::table('article')->whereTime('create_time', 'y') ->select();

時間范圍查詢

// 查詢兩個小時內的文章
Db::table('article')->whereTime('create_time','-2 hours')->select();


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM