Rails 3 日期时间比较与 ActiveRecord 查询中的日期

2024-03-08

我试图在模型中搜索等于特定日期的任何日期,同时忽略时间戳。在 Rails 中我可以简单地执行它DateTime.to_date == somedate,但是我认为在 SQL 中制定起来并不那么容易,因为我无法将 to_date 方法应用于整个列,如created_at:

Foo.where("created_at == some_day_without_time_stamp").count

最初,我认为因为我使用的是 postgresql 数据库,所以我可以简单地使用 psql 语法,但我更愿意将其留给 ActiveRecord 来决定哪种 sql 最适用,并使我的代码与数据库供应商无关。无需任何额外的插件或宝石就可以实现这一点吗?


我会做类似的事情...

someday = Date.today
Foo.where( :created_at => (someday)..(someday + 1.day) )

这将捕获所有created_at午夜之间的日期someday and someday + 1。这是包容性的(因此它将包括在 +1 天的午夜创建的 Foo),但可能“足够好”满足您的需求,而不会弄乱时间戳。

为了美观起见,我会将其包装为scope

scope :on_day, ( lambda do |someday|
  where( :created_at => (someday)..(someday + 1.day) )
end )

So

Foo.on_day( Date.yesterday ).count

很好读。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails 3 日期时间比较与 ActiveRecord 查询中的日期 的相关文章

  • 如何在 Rails 3 中查看用户的实时活动?

    我想做的是让我的管理员用户能够实时 通过一些 AJAX jQuery 功能 看到我的用户正在做什么 我该如何去做呢 我认为它与会话活动有关 并且我已经开始将会话保存到数据库 而不是 cookie 但一般来说 我如何获取该信息并实时解析它 我
  • ActiveRecord 查询,按关联排序,最后一个 has_many

    我试图列出所有Users by the created at最近创建的关联记录 通讯 列 到目前为止我所拥有的 User includes communications order communications created at IS
  • 资产:预编译 - 权限被拒绝 - 仅在一台计算机上

    我的 dropbox 文件夹中有一个 Rails 应用程序项目文件夹 我在 2 台电脑上工作 家用电脑和笔记本电脑 均为 win 7 If I do bundle exec rake assets precompile在电脑上运行正常 我看
  • Rails 3 安装在 Gem Builder 中挂起,并显示“无法将“\xF1”从 ASCII-8BIT 转换为 UTF-8”

    我按照这个教程http pragmaticstudio com blog 2010 9 23 install rails ruby mac http pragmaticstudio com blog 2010 9 23 install ra
  • 处理时区转换的 JavaScript 库

    是否有一个 JavaScript 库可以处理时区转换 并考虑 DST 规则和此类内容 我知道有类似的问题 但我见过的问题似乎都没有真正适合我的问题的答案 我想在时区 A 创建一个日期并能够对其进行操作 添加天数 小时等 然后将其转换为另一个
  • PHP strtotime +1 个月添加额外一个月[重复]

    这个问题在这里已经有答案了 我有一个简单的变量 可以将今天添加一个月 endOfCycle date Y m strtotime 1 month 今天是 2013 年 1 月 所以我希望返回 2013 02 但我得到的是 2013 03 我
  • 我如何获取当前时间?

    我如何获取当前时间 Use datetime https docs python org 3 library datetime html gt gt gt import datetime gt gt gt now datetime date
  • R:如何将描述小时、分钟和秒的非直观字符串转换为可行的 POSIXct 格式以执行标准算术?

    我在 R 中有一个数据集 其值采用小时 分钟和秒格式 然而 有些值只有小时和分钟 有些值只有分钟和秒 有些值只有分钟 有些值只有秒 它的格式也不是很有利 样本数据如下 example lt as data frame c 22h28m 17
  • .NET 中的 new Date().getTime()

    基本上我想在 NET 中执行以下操作 但我不知道如何操作 var d new Date getTime milliseconds since 1970 01 01 我不太确定您是否可以在 NET 中获取 UNIX 日期 但您有 DateTi
  • Pandas:按日历周分组,然后绘制真实日期时间的分组条形图

    EDIT 我找到了一个非常好的解决方案并将其发布在下面作为答案 结果将如下所示 您可以为此问题生成一些示例数据 codes list ABCDEFGH dates pd Series pd date range 2013 11 01 201
  • Rails - 使用 %W

    我有以下效果很好的 def steps w hello billing confirmation end steps first 但我想这样做 def step title w Upload a photo Billing Info Con
  • 用设备销毁注册的路径是什么

    我正在尝试添加一个链接 以便用户可以销毁他 她自己的帐户 我正在使用内置的注册类 在我看来我有例如指向 localhost 3000 users 4 首先 这是正确的链接吗 其次 如何重定向到根路径 因为目前它看起来像尝试重定向到 id 4
  • 从 3.1 返回后加载 Rails 3(服务器)时出现问题

    Rails 完全菜鸟 我正在使用 Hartl 教程 到了第 4 章 CSS 4 1 2 一切看起来都很顺利 但遇到了一个问题 使页面上的文字看起来
  • 两个日期之间间隔 15 分钟 javascript

    问题 我需要将两个日期 时间戳之间的所有 15 分钟时隙 日期格式 2016 08 10 16 00 00 创建为 HH mm 格式的数组 其中分钟限制为 00 15 30 45 示例 中午 12 30 到下午 2 30 将 gt 12 3
  • 更改 pandas 中多个日期时间列的时区信息

    有没有一种简单的方法可以将数据帧中的所有时间戳列转换为本地 任何时区 不是逐列进行吗 您可以有选择地将转换应用于所有日期时间列 首先 选择它们select dtypes https pandas pydata org pandas docs
  • 如何在数据库中保存未来(!)日期

    这个问题专门涉及未来的日期和时间 对于过去的值 UTC 无疑是首选 我想知道是否有人对拯救生命的 最佳 方法有建议futureMySQL 数据库中的日期和时间 或者就此而言一般来说 特别是在该列可以保存不同时区时间的情况下 考虑到时区规则可
  • 无法在 Yahoo! 中输出 pubDate管道?

    在我在 Yahoo 上的 RSS 提要之一中Pipes 我使用 Date Formatter 模块并使用格式 K 来格式化日期 以便它们符合 pubDate 标准 在管道输出中 我的四个日期显示如下 Wed 25 Jul 2012 03 3
  • 英文日期差异

    接近重复 如何计算相对时间 https stackoverflow com questions 11 how do i calculate relative time 如何在 C 中计算某人的年龄 https stackoverflow c
  • PHP 添加 1 个月至今

    我有一个返回 1 个月前的 url 的函数 我想显示当前选定的月份 但我不能使用简单的当前月份 因为当用户单击 1 个月前的链接时 选定的月份将发生变化并且不是当前月份 因此 函数返回 August 2012 如何制作可以增加 1 个月时间
  • DateTime.Parse 今天失败(2012 年 3 月 1 日)! o_0

    今天我遇到了一个非常奇怪的问题 尝试执行以下 C 代码 class Program static void Main string args string yesterdayString DateTime Now TimeSpan From

随机推荐

  • 为什么没有纯 Python SSH1(版本 1)客户端实现?

    似乎有一些很好的纯 Python SSH2 客户端实现 但我还没有找到一个适用于 SSH1 的客户端 除了对这样的项目缺乏兴趣之外 还有什么具体原因吗 我完全意识到许多 SSH1 漏洞 但是对于我们这些想要编写 SSH 客户端来管理仅支持
  • 反应本机滚动视图不会从文本输入内部滚动

    我在滚动视图中添加了多文本输入 问题是当我想从文本输入内部向下滚动时 我将手指放在文本输入内部并向下滚动 但它没有向下滚动页面 有没有办法解决这个问题 这是示例代码 export default class ScrollViewWithTe
  • 根据尺寸类别更改约束乘数

    是否可以根据当前的尺寸类别为约束赋予不同的乘数 我的观点是 对于常规尺寸类宽度 我希望其尺寸为屏幕尺寸的一半 对于紧凑尺寸类宽度 我希望其尺寸为屏幕尺寸的 80 在故事板中 我可以选择将不同大小类别的不同变量添加到约束常量值中 但不能添加它
  • 如何更新vcpkg本身?

    我已经安装了 vcpkg 一个 C 包管理器 现在过了一段时间 我想更新一下 我怎样才能做到这一点 我需要卸载并重新安装吗 更新 vcpkg git 克隆的最佳方法是 将所有已安装端口的列表保存在某处 git pull 删除
  • geom_histogram:错误的垃圾箱?

    我正在使用 ggplot 2 1 0 来绘制直方图 并且我对直方图箱有意外的行为 我在这里举了一个左封闭 bin 的示例 即 0 0 1 binwidth 为 0 1 mydf lt data frame myvar c 1 0 5 0 4
  • 有没有更好的方法来打印cout最多N个字符的字符串?

    编辑 我发送的是二进制文件而不是字符串 我的测试是使用 html 页面 所以在这个例子中我只使用一个字符串 但我的问题是关于二进制 向量和使用 ostream 进行调试 我这样做可以消除一些混乱 我有以下代码 cout lt lt stri
  • 以 Django 形式访问 POST 数据

    我一直在使用这个网站 http jacobian org writing dynamic form generation 作为如何在 Django 中制作动态表单的示例 在他看来 他使用 if request method POST for
  • 在unity3D android中本地保存大量数据的最佳方法? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在开发一个2D游戏 稍后将用作摊位的广告活动 我需要存储用户信息 姓名 号码 电子邮件和分数 这些
  • java servlet:请求参数包含加号

    请求参数就像decrypt param 5FHjiSJ6NOTmi7 2tnnkQ 在 servlet 中 当我尝试通过以下方式打印参数时String param request getParameter param I get 5FHji
  • javascript 点击事件处理程序在没有点击的情况下触发

    为什么在没有单击指定按钮的情况下会触发此函数 我查看了一些类似的问题 但没有一个涉及此代码结构 可能是我丢失的明显原因 document getElementById main btn addEventListener click hide
  • 如何在 CSS 中设置背景图像不透明度而不使用伪之前/之后和/或定位的 div

    我有一个由 CMS 生成的 div 其中包含一个背景图像 我想更改该背景图像的不透明度 而不影响该 div 子元素的不透明度 https jsfiddle net L5b81yqo https jsfiddle net L5b81yqo H
  • PyCharm 和 VirtualEnvs - 如何删除旧版本

    如何从 PyCharm 中删除遗留项目的所有痕迹 背景 我今天从 PyCharm 社区版升级到 PyCharm 专业版 原因是这样我就可以从事 Django 项目 特别是一个名为 deals 的新兴遗留项目 我删除了旧项目文件夹 然后 我打
  • Ember JS/Handlebars 视图助手

    目前 如果我们将视图定义为 view App myView ember handlebars 会将视图元素包裹在一个 div class ember view 有办法阻止这种情况吗 您可能想将 tagName 设置为 App MyView
  • “无法从安装目录获取安装脚本的一致路径”

    我正在使用 pip 从 git 存储库安装包 pip install e git git github com knipknap SpiffWorkflow git master egg SpiffWorkflow dev 克隆存储库没有问
  • 如何编写一个 C++ 程序来过滤掉非整数?

    像这样的东西 cout lt lt Enter the number of columns cin gt gt input while input int cout lt lt endl lt lt Column size must be
  • 偏移日期时间解析

    需要从格式解析日期时间2016 06 24T13 39 44 687680 第一步使用 尝试用线路解析没有微秒的时间 System out println OffsetDateTime parse 2011 12 03T10 15 30 D
  • 使用 C++ 实现 Android 事件处理程序

    我有一个 Java 布局设计 目前正在通过 JNI 移植到 C 我实际上已经完成了这一点 但我目前对如何设置事件处理程序 例如 setOnClickListener 感到困惑 我已经经历过JNI规范 https docs oracle co
  • 快速解码 JPEG 图像的方法

    我需要解码 解压为位图 非常小的 大约 1200 1200 JPEG 问题是我需要尽快完成 我尝试过 libjpeg 但速度很慢 我也尝试过 BitmapFactory decodeByteArray 它有点快 但仍然不够快 还有什么其他选
  • 在哪里编辑 mysql 全文停用词列表?

    我看到mysql的全文停用词列表是英文的 考虑到 mysql 在全世界范围内使用 这有点奇怪 无论如何 我将 ft min word len 降低到 3 所以我需要将我的语言中的常用单词添加到此列表中 有人可以告诉我在哪里可以找到它吗 Th
  • Rails 3 日期时间比较与 ActiveRecord 查询中的日期

    我试图在模型中搜索等于特定日期的任何日期 同时忽略时间戳 在 Rails 中我可以简单地执行它DateTime to date somedate 但是我认为在 SQL 中制定起来并不那么容易 因为我无法将 to date 方法应用于整个列