2017-03-24 19 views
-1

で約時刻と日付の比較:が、私は時間と日付を持つ2つの変数持つルビー

var1 = "2017-03-24 10:37:59" 
var2 = "2017-03-24 10:38:12" 

を私はそれらの2つの変数を比較するためのアルゴリズムを考え出す必要がありますが、2分の違いは、[OK]をする必要があります。 この特定の例では、差が2分未満であるため、var1 == var2 is trueです。

+0

あなたは[宝石]これを試みることができる(https://github.com/tmlee/time_difference) – DiodonHystrix

+0

あなたがしようとしたものを、私たちを表示する必要が尋ねるとき、それについて具体的な質問をします。今はあなたが試したことがないように見え、私たちにあなたのためのコードを書くことを望みます。 –

答えて

2

使用Time.parse

require 'time' 
((Time.parse(var1) - Time.parse(var2))/60).abs < 2 
=> true 
+0

これは 'Time#-'が浮動小数点数を返すので、これが機能することに注意してください。整数の場合、 '-61/60'が' -2'であるため、これは奇妙なバグにつながる可能性があります。 –

3

Time#to_iは(エポック以降)秒にタイムインスタンスを強制的に変換するので、あなただけの時間をインスタンス化し、例えば、それらの間の距離を確認することができます2分間:

require 'time' 
(Time.parse('2017-03-24 10:37:59').to_i - Time.parse('2017-03-24 10:38:12').to_i).abs <= 2*60 
# true 
+1

差異は秒単位であるか、120と比較されます – Ilya

+2

@EricDuminil「to_i」および/または「to_f」を省略することができます:time - other_time→float – steenslag

関連する問題