2013-12-17 36 views
0

我有以下幾點:減去兩年,如果圍捕超過半年

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

我當時想

  1. y2 - y1
  2. 結果轉換爲某種數量的
  3. 將結果除以365.25並將其結果向上捨棄,如果超過.5

我的主要問題是第2點,我應該用什麼數字類?我想這可能會回答第3點。

或者,也許有一種更有效的方式減去兩個日期和接收年數,四捨五入到最接近的整數?

+0

在'Ruby日期差異'中搜索SO帶來了不少與你的問題相關的命中。你有看過嗎? –

回答

1

減法的結果已經是一個數字(天數爲有理數)。

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

使用可以使用

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

這會給你的整數天數的差異。現在你可以通過三元運算符來檢查它是否大於.5或者不是