Ruby - Есть ли способ получить временную метку для определенного c будущего времени, но это зависит от часового пояса - PullRequest
0 голосов
/ 09 июля 2020

У меня есть электронная почта. Я хочу отправлять людям электронные письма в 8 утра по местному времени. Если у меня их часовой пояс в следующем формате: «Америка / Нью-Йорк», как я могу получить объект Time со следующим экземпляром 8 утра для этого часового пояса?

1 Ответ

1 голос
/ 09 июля 2020

Я предполагаю, что у вас есть модель User, и у каждого пользователя есть свой часовой пояс, сохраненный в атрибутах timezone и timezone #=> 'America/New_York'.

Затем вы можете добавить метод, подобный следующему, в свой User модель:

def next_time_it_is_8am_in_this_users_timezone_in_utc
  time = ActiveSupport::TimeZone[timezone].now.change(hour: 8)
  time = time + 1.day if time.past?
  
  time.utc
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...