如果超过半年,则减去两年并四舍五入

时间:2013-12-17 07:12:34

标签: ruby date rounding subtraction

我有以下内容:

y1 = Date.parse("2008-02-01")
y2 = Date.today

然后我想

  1. 减去y2 - y1
  2. 将结果转换为某种数字类
  3. 将结果除以365.25并将结果向上舍入(如果超过.5
  4. 我的主要问题是第2点,我应该使用哪个数字类?我猜这可能会回答第3点。

    或许还有一种更有效的方法可以减去两个日期并接收年数,向上/向下舍入到最接近的整数?

2 个答案:

答案 0 :(得分:1)

减法的结果已经是一个数字(天数为有理数)。

((y2 - y1) / 365.25).round
# => 6

答案 1 :(得分:-1)

使用可以使用

result = ((y2 - y1) / 365.25).round

这将给出整数天数的差异。现在你可以通过三元运算符检查它是否大于.5