我试图减去日期,但它只减去月份。我以mm / dd / yyyy格式将params [:date]从视图传递给控制器。 我在控制器中有代码
include AgeCalculatorHelper
def new
@age = AgeCalculator.date_subtr(params[:date])
render :index
end
在helpers.rb
中require 'date'
class AgeCalculator
def self.date_subtr(date)
(Date.today.strftime('%m/%d/%y').to_i - date.to_i)
end
我在没有to_i
的情况下尝试了错误
undefined method
- “for "08/21/16":String Did you mean? -@
答案 0 :(得分:0)
我认为你正在解析错误的变量。试试这个
def self.date_subtr(date)
Date.today - Date.strptime(date, '%m/%d/%Y')
end
以" mm / dd / yyy"的格式解析日期。并从当前日期中减去它。我想这会给你两个日期之间的天数。
编辑:
你可以像这样输出几个月和几天
days = Date.today - Date.strptime('08-09-1991', '%m-%d-%Y')
"#{days.to_i / 365} years #{days.to_i % 12} months #{days.to_i % 365} days"