我的课程中有一个定义今天是什么的方法。
class Practice
attr_accessible :date
def self.today
where(:date => Date.today)
end
end
我的Time.zone与用户使用应用程序控制器上的before过滤器相同。
before_filter :set_user_time_zone
private
def set_user_time_zone
if signed_in?
Time.zone = current_user.time_zone
end
end
但是当谈到Date.today时,即使把用户的时区放在东京也是如此。所以8月19日在美国,8月20日。我怎样才能使它成为8月20日或时区的日期?
答案 0 :(得分:4)
您可以使用in_time_zone
:
Time.zone
Time.current.in_time_zone(current_user.time_zone).to_date
您可能不得不将时区作为方法参数传递,因为current_user
通常在模型中不可用。