Ruby-有没有一种方法可以获取特定未来时间的时间戳,但是该时间戳取决于时区

时间:2020-07-09 17:54:39

标签: ruby-on-rails ruby time timezone

我有一个电子邮件系统。我想在当地时间上午8点向人们发送电子邮件。如果我的时区采用以下格式:“ America / New_York”,我如何在该时区的下一个8AM实例中获取一个Time对象?

1 个答案:

答案 0 :(得分:1)

我假设您有一个User模型,并且每个用户的时区都存储在属性timezonetimezone #=> '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