ROR + Ruby Date Уменьшение на 15 минут - PullRequest
0 голосов
/ 24 мая 2011

Если у меня есть @time = Time.now.strftime("%Y-%m-%d %H:%M:%S"),

Как я могу сократить это время на 15 минут?

Я уже пробовал это: @reducetime = @time-15.minutes, отлично работает на консоли, но выдает ошибки при выполнении Кроме этого Есть ли способ решить эту проблему.

Спасибо

1 Ответ

3 голосов
/ 24 мая 2011

Ваша проблема в том, что вы форматируете свое время в строку, прежде чем закончите обрабатывать его как время.Это имеет больше смысла:

@time       = Time.now
@reducetime = @time - 15.minutes

# And then later when you're reading to display @time...
formatted_time = @time.strftime("%Y-%m-%d %H:%M:%S")

Вы не должны форматировать свои данные до тех пор, пока не будете готовы их отобразить.

Если вы должны иметь @time в качестве отформатированного временитогда вам придется проанализировать его перед вычислением @reducetime:

@reducetime = (DateTime.strptime(@time, "%Y-%m-%d %H:%M:%S") - 15.minutes).to_time
...