Ruby on rails 比较Rails中的日期时间变量

Ruby on rails 比较Rails中的日期时间变量,ruby-on-rails,datetime,Ruby On Rails,Datetime,Rails 3 Ruby 1.92—我有一个助手方法,将对象上的datetime属性与当前日期和时间进行比较 module StoreHelper def initial_time(product) if product.time_type == "Min" initial_time = (product.time * 60) elsif product.time_type == "Hrs" initial_time = (product.time

Rails 3 Ruby 1.92—我有一个助手方法,将对象上的datetime属性与当前日期和时间进行比较

module StoreHelper
  def initial_time(product)
    if product.time_type == "Min"
      initial_time = (product.time * 60) 
    elsif product.time_type == "Hrs"
      initial_time = (product.time * 3600)
    else
      initial_time = 0
    end
  end

  def time_based_price(product)
    start_time = product.start_time
    current_time = Time.now
    expire_time = start_time + initial_time(product)

    if (current_time <= expire_time) && (unit_sales(product)>= product.volume)
      time_based_price = (product.price - product.boost_savings)
    else
      time_based_price = product.price
    end
  end
end

是否为列表中的每个产品项调用此方法?在这种情况下,对于其中一个产品,没有为开始时间和时间类型设置任何值。当expire_time为0时,您将出现此错误。但是,既然您已经尝试了expire\u time的值,我相信它一定会出现在更多的产品实例中,并且其中一个实例失败。

什么类型的
start\u time
product.start\u time
)?您是否尝试将
产品.start\u time
解析为时间类型?是否尝试在日期上执行.to\u i?我认为将日期时间乘以一个数字将返回一个数字。这是一个有趣的转换。非常感谢我的朋友,你在现场。我更新了通话内容,效果非常好。再次感谢。接下来的问题是,有没有更好的方法来比较rails中的日期时间?例如,语法相当于某个时间是否晚于时间。现在做点什么?太好了!你能详细描述下一个问题吗?现在我正在用这样的语法比较时间:if(current_time sign)。基本上我想知道是否有一种比较方法更适合时间变量。我担心的是,在进行正常的<或>比较时,AM/PM可能会出现问题。
   2013-11-17 20:48:07 UTC - Time.zone.now
   2013-11-17 16:15:00 UTC  - expire_time