【发布时间】:2019-05-14 12:38:28
【问题描述】:
所以我将此代码作为收集$start_date 和$end_date 的发布请求
$start_date = date("Y-m-d",strtotime($request->start_date));
$end_date = date("Y-m-d",strtotime($request->end_date));
我有这个查询来获取两(2)个日期之间的所有记录
$date_time_records = DateTimeAPI::select('ACNo','datetime','state','deviceID','status')
->whereBetween('datetime', [$start_date, $end_date])
->get();
但问题是:
mysql中datetime的字段格式为(Y-m-d h:i:s)
我想要做的是匹配日期范围和字段datetime 具有相同的格式。
点赞('Y-m-d')
如果start_date 和end_date 格式化为(Y-m-d h:i:s),则选择查询可以正常工作。但我只需要(Y-m-d)
【问题讨论】:
-
我不熟悉php,但你不能用
date("Y-m-d 0:0:0",...吗? -
start_date 和 end_date 只有 Y-m-d 数据。像 start_date = "2019-04-05" 和 end_date =2019-04-05" 并且我的数据库中的 datetime 字段包含 datetime = "2019-04-05 8:28:00" 的记录
-
Laravel 将日期存储为
"Y-m-d H:i:s"格式以获得基于秒的结果。您可以按照以下答案使用。此外,如果您想从早到晚获取当前日期之间的数据,则必须将日期编辑为$start_date = date("Y-m-d 00:00:00",strtotime($request->start_date));和$end_date = date("Y-m-d 23:59:59",strtotime($request->end_date)); -
我只想不包括要过滤的时间,这就是为什么 start_date 只包含这种格式的数据(Y-m-d)
标签: php mysql laravel eloquent