【问题标题】:Fetching Data based date and time获取基于数据的日期和时间
【发布时间】:2015-11-28 18:07:53
【问题描述】:

我正在尝试从今天开始查找结果,但如果时间在12:00am-5:00am 之间,我也想包括昨天的计划

现在我有以下

def self.current
    where(
      "plan_date >= :today",
      today: Date.current,
    )
end

有没有一种方法可以让我根据在应用程序控制器中设置为波纹管的用户时区知道一天中的时间,并确保如果它在第二天早上 6 点之前,我想包括前几天的结果也是。

def set_time_zone(&block)
    if current_user
      Time.use_zone(current_user.time_zone_name, &block)
    else
      yield
    end
end

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-4 timezone


    【解决方案1】:

    试试这个:

    def self.current
        where(
          "plan_date >= :today",
          today: (Time.zone.now.in_time_zone(get_user_time_zone) - 6.hours).beginning_of_day,
        )
    end
    

    ...get_user_time_zone 返回用户的时区(例如:America/New_York)。我使用 - 6.hours 是因为您希望它在当地时间“早上 6 点之前”。

    【讨论】:

      猜你喜欢
      • 2023-01-09
      • 2017-10-08
      • 1970-01-01
      • 2021-08-14
      • 1970-01-01
      • 2016-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多