【问题标题】:ROR + Ruby Date Decrease by 15 minutesROR + Ruby 日期减少 15 分钟
【发布时间】:2011-05-24 07:34:37
【问题描述】:

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

我怎样才能将这个时间减少 15 分钟?

我已经尝试过这个 ::@reducetime = @time-15.minutes,在控制台上运行良好,但在执行时出错。除此之外还有什么办法可以解决这个问题。

谢谢

【问题讨论】:

  • 为什么在尝试从中减去 15 分钟之前格式化时间?当您尝试计算 @reducetime 时,您的 @time 是一个字符串。

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


【解决方案1】:

您的问题是您在将时间视为时间之前将其格式化为字符串。这会更有意义:

@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

【讨论】:

    猜你喜欢
    • 2017-08-03
    • 2017-11-08
    • 2016-11-24
    • 1970-01-01
    • 2014-12-07
    • 2013-01-28
    • 1970-01-01
    • 2013-03-09
    • 1970-01-01
    相关资源
    最近更新 更多