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();

你可能感兴趣的:(ThinkPHP,thinkphp,sql,数据库)