经过我反复测试,这个问题在linux下有,在windows又无法复现。
然后我偶然发现对于 '2020-09-20' 这个日期的时间戳会出现这个bug,改成其他日期的时间戳,又正常了,非常奇怪。
因为对源码不是很熟,所以没有去进行源码的分析,这里提出来和大家分享。
试验环境:
系统:Centos7
PHP版本:7.2.24 NTS 64位
TP版本:5.0.24
$end_time = strtotime('2020-09-20') - 1;
$start_time = $end_time - (7 * 86400) + 1;
// create_at字段是 int型
$list = Db::name('user')
->whereTime('create_at', 'between', [$start_time, $end_time])
->fetchSql(true)
->select();
var_dump($list); // SELECT * FROM `user` WHERE `create_at` BETWEEN 1599926400 AND -24307574347 最佳答案