2015-09-03 46 views
1

我試圖找到從今天起的效果,但也希望包括昨天的計劃,如果時間是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 

回答

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點」。