如何在 Laravel 中比较简单日期和日期时间?

Posted

技术标签:

【中文标题】如何在 Laravel 中比较简单日期和日期时间?【英文标题】:How to compare simple date with datetime in Laravel? 【发布时间】:2022-01-02 05:23:49 【问题描述】:

在我的项目中,我为用户创建了一个按日期搜索的选项,但在我的数据库中,所有插入都是 DateTime 格式 (yyyy-mm-dd h:m:s),而仅进行搜索使用简单的日期(yyyy-mm-dd)输入。 有什么方法可以比较这两个值,以便用户可以找到给定日期的所有插入内容?

【问题讨论】:

如果您从时间戳中省略小时、分钟和秒,基于日期的搜索仍然可以工作,它们只是“包含”(即如果您搜索“2021-11-23 ",这将包括从 "2021-11-23 00:00:00" 到 "2021-11-23 23:59:59" 的所有时间戳)。除非您尝试进行字符串比较,否则基于日期的搜索应该仍然可以正常工作。你有什么办法解决这个问题? 【参考方案1】:

您可以使用格式为 Y-m-d 的 eloquent whereDate

YourModel::whereDate('created_at','2021-11-24')->get();

或者没有模型

DB::table('your_table')->whereDate('created_at','2021-11-24')->get();

【讨论】:

我只使用了一个简单的 where(),这就是它不起作用的原因。感谢您的帮助!

以上是关于如何在 Laravel 中比较简单日期和日期时间?的主要内容,如果未能解决你的问题,请参考以下文章

如何比较 DST 与 Laravel / Carbon 更改时的日期

比较 Laravel 框架中的碳日期 [重复]

Laravel Eloquent 比较日期时间字段中的日期

在 Laravel 中添加时间到日期查询

在 Laravel 中获取当前日期、时间和日期

将日期与laravel中mysql json数组的每个值进行比较