我有一个电子邮件系统。我想在当地时间上午8点向人们发送电子邮件。如果我的时区采用以下格式:“ America / New_York”,我如何在该时区的下一个8AM实例中获取一个Time对象?
答案 0 :(得分:1)
我假设您有一个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