2012-03-16 22 views
4

私はcronジョブをRailsサーバー上で実行しています。このレーキタスクは、いくつかのイベントがトリガーされたときに、加入者にコール/ SMSを送信します。このイベントが午後10時から午前8時の間にトリガーされると、夜中に誰も邪魔されたくないため、キューに格納したいと思っています。時間が午前10時から午前8時までかどうかを確認するにはどうすればいいですか?指定された範囲の時間

注:すべてのユーザーが独自のタイムゾーンを持っている..私は、データベースに

おかげ

+0

現在、私はこれをチェックしていますその間にすべての時間を含む配列すなわち 'hour_array =重量%(22 23 0 1 2 3 4 5 6 7) ' ' store_in_queue hour_array.include場合?(Time.now.utc.hour.to_s) ' に良い方法はありますこれを行う? – benchwarmer

答えて

3

はたぶん何かのような...

def night_time?(t) 
    t.hour > 22 || t.hour < 8 
end 

を使用することができています

store_in(queue) if not night_time?(@time) 
5
# here "-07:00" is example of user's timezone offset 
if Time.now.getlocal("-07:00").hour.between?(8, 22) 
    #then we send 
else 
    #we don't send 
end 
関連する問題