Есть ли способ преобразовать время UTC postgres в часовой пояс пользователя или, по крайней мере, восточное стандартное время (я был бы признателен за любой ответ)?
Я думал, что есть способ изменить время UTC postgres, но я не не думаю, что это не вызывает много вопросов. Из того, что я прочитал, было бы лучше использовать код во внешнем интерфейсе, который преобразовал бы его в правильный часовой пояс?
Это едва ли имеет для меня смысл.
В чем смысл?
Таким образом, когда пользователь отмечает, что он выполнил хорошую привычку, привычка исчезает и должна снова появиться завтра в 12:00, но в конечном итоге привычки снова появятся позже в тот же день из-за UTC.
habit.rb
scope :incomplete, -> {where("completed_at is null OR completed_at < ?", Date.today)} # aka those habits not completed today will be shown
def completed=(boolean)
self.completed_at = boolean ? Time.current : nil
end
def completed
completed_at && completed_at >= Time.current.beginning_of_day
end
config.time_zone = 'Eastern Time (US & Canada)'в свой application.rb и в свою консоль, если вы сделаете Habit.last.completed_at, он вернет время UTC или восточное время.? - person Athar   schedule 26.07.2015Time.zone.nowилиTime.zone.beginning_of_day. если вы немного измените свою область и добавитеconfig.time_zone = 'Eastern Time (US & Canada)'в свой application.rb, вы добьетесь того, чего хотите - person Athar   schedule 26.07.2015Habit.last.completed_at, что оно возвращает. также измените область действия следующим образомscope :incomplete, -> {where("completed_at is null OR completed_at < ?", Time.zone.now.beginning_of_day)}- person Athar   schedule 26.07.2015Sun, 26 Jul 2015 12:20:13 EDT -04:00Это работает в разработке @Athar. Я попробую этот объем. - person AnthonyGalli.com   schedule 26.07.2015Habit.last.completed_atв консоли героку.? что это возвращает.? - person Athar   schedule 26.07.2015