用openon日期计算结束日期

时间:2014-05-13 12:02:20

标签: ruby-on-rails ruby ruby-on-rails-3 date ruby-on-rails-3.2

我正在进行定金存款计算,当我在那个时间打开重新存款账户时,我已经使用before_save将开业日期设定为今天的日期。我不知道如何计算账户到期日。因为,在我的押金存款中,我的下拉状态有很多字段,如6个月,1年,2年......最多5年。根据该开放日期,我必须关闭该帐户或在该到期日自行续订。

我已将以下代码用于openon date

  before_save :set_openedon   

  def set_openedon
    self.openedon = Date.today
  end  

例如:

  1. 第一个开户日期为13/05/2013,到期日为13/05/2014,为期一年。

  2. 第二个开户日期为15/09/2012,到期日为15/09/2014两年。

  3. 就像我必须计算所有账户的到期日。但我不知道怎么做。 请帮助我。

    - 提前谢谢。

2 个答案:

答案 0 :(得分:1)

Rails有很容易使用的日期操作符:

Date.parse('13/05/2013') + 1.year
# => Tue, 13 May 2014
Date.parse('15/09/2012') + 2.years
# => Mon, 15 Sep 2014 

6.months等同样

答案 1 :(得分:0)

类似的东西:

def calculate_dates
    self.openedon = Date.today
    case self.noy
    when '1'
      self.md = self.openedon+1.year
    when '2'
      self.md = self.openedon+2.years
    when '3'
      self.md = self.openedon+3.years
    when '4'
      self.md = self.openedon+4.years
    when '5'
      self.md = self.openedon+5.years
    else
      self.md = self.openedon+6.months
    end
end