2017-05-22 55 views
0

比較倍我使用這個代碼進行比較次數:在滑軌

(time1.to_i - time2.to_i).abs < 5 

的目的是,如果兩個時間彼此在5秒內測量,它們將是相等的。我使用它來比較記錄的更新,因此5秒鐘可以作爲緩衝區,並且當記錄間隔僅幾秒鐘時停止返回false的代碼。

有沒有更好的方法來做到這一點?

+0

有一個叫寶石[TIME_DIFFERENCE](https://github.com/tmlee/time_difference)。它沒有積極維護,但很容易遵循和合並。它給你這樣的語法:'TimeDifference.between(start_time,end_time).in_years'。 – moveson

回答

1

在Ruby中,您可以直接減去兩個Time對象以獲得以秒爲單位的差異。 Rails提供對整數一些便利助手將它們轉換成秒,以及:

(time1 - time2).abs < 5.seconds 

如果你知道time2總是time1之後,你就可以擺脫的abs

time2 - time1 < 5.seconds