whereTime遇到的一个奇怪的bug

浏览:324 发布日期:2020/09/22 分类:求助交流 关键字: whereTime
whereTime 在下面的代码,会出现奇怪的bug,会把时间戳格式化成一个负数。
经过我反复测试,这个问题在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
最佳答案
评论( 相关
后面还有条评论,点击查看>>