铁路上的时区真让我困惑



我提取每小时的数据,缓存它,然后在javascript滚动器中使用这些数据。无论如何。这是主要问题。我正在使用:

config.time_zone = 'Eastern Time (US & Canada)'

好的,看起来很好,当我这样做的时候:

Entry.first.created_at #datetime -0500

看起来很好,只是当我使用以下范围时不是这样

  scope :hourly, lambda {|h|
    g = DateTime.current.beginning_of_day + h.hours
    where(created_at: g..g+1.hours)
  }
  scope :hourly_by_date, lambda {|h,date|
    g = DateTime.parse(date + " 00:00:00 Eastern Time (US & Canada)") + h.hours
    where(created_at: g..g+1.hours)
  }
  scope :hours_ago, lambda {|h|
    g = DateTime.current.beginning_of_hour - h.hours
    where(created_at: g..g+1.hours)
  }

它显示了一些内容,说它是在午夜之前/之后创建的,当时我在下午6:06(-0700)创建了这张唱片这太令人沮丧了,我需要一些指导。

谢谢。

不如将日期时间转换为utc,并将其值与数据库进行比较

 scope :hourly, lambda {|h|
    g = (DateTime.current.beginning_of_day + h.hours).utc
    where(created_at: g..g+1.hours)
  }
  scope :hourly_by_date, lambda {|h,date|
    g = (DateTime.parse(date + " 00:00:00 Eastern Time (US & Canada)") + h.hours).utc
    where(created_at: g..g+1.hours)
  }
  scope :hours_ago, lambda {|h|
    g = (DateTime.current.beginning_of_hour - h.hours).utc
    where(created_at: g..g+1.hours)
  }

相关内容

  • 没有找到相关文章

最新更新