Вычислить продолжительность в секундах от текущего времени до наступающего понедельника 8:29 в рубине, чтобы установить время истечения для ключа Redis - PullRequest
3 голосов
/ 24 февраля 2012

Я устанавливаю ключ redis со значением, которое будет там не более недели. И время истечения, установленное на ключ, автоматически истечет ключ в первое утро понедельника 8:29 утра.

Для приведенного выше результата необходимо рассчитать время истечения в секундах для текущего времени до наступающего понедельника 8:29 + 0545.

Ex. если сегодня 24 февраля, пятница 10:00 утра, то следует рассчитать разницу во времени с сегодняшнего дня до наступления понедельника 8:29

Я выполнил некоторое кодирование, и условия готовы. Разница во времени возникает только на объектах времени. Должен ли я сделать наступающий понедельник 8:29 утра объектом Time без даты и выполнить операцию с текущим объектом Time?

Буду признателен за любые предложения и помощь. Заранее спасибо. Я также пытался использовать time_diff gem, но он дает разницу только для объектов времени.

1 Ответ

0 голосов
/ 24 февраля 2012

http://api.rubyonrails.org/classes/Time.html#method-i-next_week

Чтобы получить 8:29 утра следующего понедельника, вы можете сделать:

monday = Time.now.next_week + 8.hours + 29.minutes

monday.to_i - Time.now.to_i даст вам количество секунд с этого момента до этого времени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...