Rubyを使用したMAXおよびMIN TIME CASEステートメントの時間チェック?
-
11-10-2019 - |
質問
私はケースステートメントで時間を確認するものです。実行する方法?
解決
上部に定義された変数がないバージョンを使用してください...
t = event.time # arbitrary example.
case
when t <= Time.now
# Event is in the past.
else
# Event is in the future.
end
他のヒント
範囲を使用してください:
case time
when (Time.now - 60)..(Time.now) then puts 'within the last minute'
when (Time.now - 3600)..(Time.now) then puts 'within the last hour'
end
範囲はあらゆる種類の値で動作します。使用できます Date
Sも:
case date
when (Date.today - 1)..(Date.today) then puts 'less than a day ago'
when (Date.today - 30)..(Date.today) then puts 'less than a month ago'
end
更新:Ruby 1.9が時間範囲を破るので、その例はRuby 1.8.7でのみ機能します。ただし、日付の例は両方のバージョンで動作します。 1.9では、このコードを使用して時間を一致させることができます。
case time.to_i
when ((Time.now - 60).to_i)..(Time.now.to_i) then puts 'within the last minute'
when ((Time.now - 3600).to_i)..(Time.now.to_i) then puts 'within the last hour'
end
所属していません StackOverflow