加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Date.today和Date.yesterday是相同的但不在控

发布时间:2020-12-17 01:47:40 所属栏目:百科 来源:网络整理
导读:参见英文答案 Why does Date.yesterday counts as Date.today also?????????????????????????????????????2个 我已经查看了有关此主题的其他问题但似乎与我遇到的内容不相符.我有2个范围从今天和昨天查找记录,但它们都返回完全相同的记录. scope :new_member
参见英文答案 > Why does Date.yesterday counts as Date.today also?????????????????????????????????????2个
我已经查看了有关此主题的其他问题但似乎与我遇到的内容不相符.我有2个范围从今天和昨天查找记录,但它们都返回完全相同的记录.

scope :new_memberships_cash_today,->() {
where(:start_date => Date.today)
joins(:membership).sum('memberships.cost')}

scope :new_memberships_cash_yesterday,->() {
where(:start_date => Date.yesterday)
joins(:membership).sum('memberships.cost')}

在控制台Date.today和Date.yesterday中返回不同的值(即今天和昨天)

列start_date是一个日期字段,所以这应该工作不应该吗?以前有人遇到过这个吗?

谢谢

解决方法

Date.today不是时区感知,我相信Date.yesterday是时区感知的,1.day.ago肯定是.

使用Date.current代替Date.today(同样适用于Time.now – 不要使用它,使用Time.zone.now或快捷方法Time.current)

见http://www.elabs.se/blog/36-working-with-time-zones-in-ruby-on-rails#cheat_sheet

我建议阅读整篇文章以及我最近写的一篇文章 – http://jessehouse.com/blog/2013/11/15/working-with-timezones-and-ruby-on-rails/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读