我试图从两个数组中减去最早的日期:
def days_pending
start = [object.created_at]
finish = [Time.now.strftime('%Y-%m-%d')]
if object.app_sign_date
start.push(object.app_sign_date)
end
if object.submitted_date
start.push(object.submitted_date)
end
if object.inforce_date
finish.push(object.inforce_date)
end
if object.closed_date
finish.push(object.closed_date)
end
finish.min - start.min
我在数组上调用min
没问题,但在调用min
方法然后减去时遇到问题。我得到NoMethodError: undefined method
- ' for" 2015-01-01":String`。
答案 0 :(得分:2)
数组finish
的第一个元素是字符串而不是日期。你需要添加适当的对象,即。日期或日期时间
finish = [Time.now]
或
finish = [DateTime.now]
答案 1 :(得分:0)
调用Time.now.strftime('%Y-%m-%d')
后,你得到的是一个字符串。
更改为Time.now
应该有效。
答案 2 :(得分:0)
如果您需要输出格式为" 2015-01-01"你可以使用解析:
Time.parse(finish.min) - start.min