Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何通过用户选择开始时间、时区和结束时间来实现请勿打扰(DND)_Ruby On Rails_Ruby_Ruby On Rails 3_Time_Drag And Drop - Fatal编程技术网

Ruby on rails 如何通过用户选择开始时间、时区和结束时间来实现请勿打扰(DND)

Ruby on rails 如何通过用户选择开始时间、时区和结束时间来实现请勿打扰(DND),ruby-on-rails,ruby,ruby-on-rails-3,time,drag-and-drop,Ruby On Rails,Ruby,Ruby On Rails 3,Time,Drag And Drop,我在Rails服务器上运行了一个cron作业。此rake任务在某些事件触发时向订阅者发出呼叫/短信。现在,当此事件在用户选择的DND时间之间触发时,我想将其存储在队列中。如何检查时间是否介于用户选择的DND时间之间 我试着回答我的问题 但当用户选择DND时间为6到9时失败 Note:- 1] Every user has its own timezone.. Which I have in the database 2] Every user can select his/her own DND

我在Rails服务器上运行了一个cron作业。此rake任务在某些事件触发时向订阅者发出呼叫/短信。现在,当此事件在用户选择的DND时间之间触发时,我想将其存储在队列中。如何检查时间是否介于用户选择的DND时间之间

我试着回答我的问题

但当用户选择DND时间为6到9时失败

Note:- 1] Every user has its own timezone.. Which I have in the database
2] Every user can select his/her own DND Time.

我认为下面的方法行得通 如果

然后

如果开始时间>结束时间
当前小时>开始| |当前小时<结束|小时
其他的
当前小时>开始小时和当前小时<结束小时
结束

开始时间>结束时间?(当前小时>开始小时| |当前小时<结束小时):
(当前小时>开始小时和当前小时<结束小时)
start_hour = Hour when DND Time Starts
end_hour = Hour when DND Time Ends
current hour = Hour of the current time
if start_hour > end_hour
  current hour > start_hour || current hour < end_hour
else
  current hour > start_hour && current hour < end_hour
end
start_hour > end_hour ?  (current hour > start_hour || current hour < end_hour) : 
                         (current hour > start_hour && current hour < end_hour)