ROR + Ruby日期减少15分钟

时间:2011-05-24 07:34:38

标签: ruby ruby-on-rails-3 datetime datetime-conversion

如果我有@time = Time.now.strftime("%Y-%m-%d %H:%M:%S")

如何将这段时间减少15分钟?

我已经尝试过这个:: @reducetime = @time-15.minutes,在控制台上运行正常,但在执行时会出错。除此之外有没有办法解决这个问题。

由于

1 个答案:

答案 0 :(得分:3)

你的问题是你在把它作为时间处理之前将时间格式化为字符串。这会更有意义:

@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