Я полный рабочий день разработчик базы данных SQL Server, но я хочу начать использовать Ruby для определенных задач управления. Кроме того, я пытаюсь перенести свои навыки Rails на следующий уровень. Я отлично справляюсь с SQL, но слабый в языках программирования (я прилагаю все усилия, чтобы исправить это!). Вот мой вопрос:Как добавить 15 минут к дате в Ruby только между определенными часами дня?
Я хочу написать простой цикл, который будет засеять мою базу данных для приложения rails для модели встреч. Я хочу начать с даты понедельника (скажем, 19 марта 2012 г.), и я хочу закончить с датой в пятницу (23 марта 2012 г.). Я хочу начать с 9 утра каждый день, и я хочу закончить в 5 вечера каждый день. Я хочу, чтобы мои встречи проходили через 15 минут.
В настоящее время у меня есть простой цикл, который добавит 15 минут к разобранному времени. Тем не менее, я хочу добавить 15 минут только между часами 9 утра и 5 вечера каждый день. Вот мой код до сих пор:
s = Time.parse("March 19, 2012, 9:00 AM")
e = Time.parse("March 23, 2012 5:00 PM") + 15 * 60
while s < e
puts "#{s} "
s+=15 * 60
end
У меня есть идеальный список дат из приведенного выше кода (хотя я знаю, что, вероятно, гораздо лучший способ сделать это), но, как я сказал, я хочу, чтобы ограничить свои чтобы я не засевал свою таблицу базы данных кучей бесполезных дат, с которыми мне постоянно приходится иметь дело в моем приложении Rails.
Любые советы были бы весьма полезными. Заранее спасибо за вашу помощь!
Не было бы лучше просто список с шагом минут 15 между 9AM и 5PM? Когда пользователь выбирает 10AM, система займет 60 минут из списка, а затем установите время там? Сколько дней вы смотрите на добавление? Не похоже, что вам нужно заполнить таблицу со списком в 15 минут. – kobaltz
Ваш код устанавливает, а затем игнорирует 's'. Лучшее описание того, что вы пытаетесь выполнить, поможет. – jdl
Огонь ... опечатка с моей стороны. Помогает ли это прояснить ситуацию? –