【发布时间】:2016-09-01 01:25:23
【问题描述】:
我有一个 cronjob 正在运行,每次运行任务时,我都想从我的数据库中加载联系人,其中那个人的本地时间是我的 cron 系统中的指定时间。
例如:给我当前时区下午 4 点(第 16 小时)的所有联系人。
为了实现这一点,我想做一个简单的函数,返回当前小时为 X 的 UTC timezone offset。
这是我想出的最佳解决方案,但我认为还有更有效的方法。
def timezone_offset_for_hour hour
["-12:00","-11:00","-10:00", "-09:30","-09:00","-08:00","-07:00","-06:00","-05:00","-04:00","-03:30",
"-03:00","-02:00","-01:00","+00:00","+01:00","+02:00","+03:00","+03:30","+04:00","+04:30","+05:00","+05:30",
"+05:45","+06:00","+06:30","+07:00","+08:00","+08:30","+08:45","+09:00","+09:30","+10:00","+10:30",
"+11:00","+12:00","+12:45","+13:00","+14:00"].select{ |o| Time.now.getlocal(o).hour == hour }
end
解决方案可以是纯 ruby 或包含 Rails 方法。
【问题讨论】:
-
您肯定尝试过自己解决这个问题。请编辑您的问题以包含您目前所拥有的内容。
-
向我们展示一些代码,以便我们为您提供帮助
-
@Arvind 绝对不是重复的
-
@Aniket 将在稍后显示代码...进行到一半并挣扎。
-
我不确定,但它看起来像这样stackoverflow.com/questions/9962038/…
标签: ruby-on-rails ruby