Railsで相対時間を行う方法を知る必要がありますが、文としてではなく、これを行うことができるようなものです(2008-08-05 23:48:04 -0400のような形式を入力した場合)
if time_ago < 1 hour, 3 weeks, 1 day, etc.
execute me
end
Railsで相対時間を行う方法を知る必要がありますが、文としてではなく、これを行うことができるようなものです(2008-08-05 23:48:04 -0400のような形式を入力した場合)
if time_ago < 1 hour, 3 weeks, 1 day, etc.
execute me
end
# If "time_ago" is more than 1 hour past the current time
if time_ago < 1.hour.ago
execute_me
end
を使用して、より古い<
かどうかを確認し、より新しいかどうかを確認しますtime_ago
1.hour.ago
>
time_ago
1.hour.ago
davidbが述べたように、時間を組み合わせて、次のことを行うことができます。
(1.day + 3.hours + 2500.seconds).ago
次のように、小数秒を実行することもできます。
0.5.seconds.ago
はありません.milliseconds.ago
。したがって、ミリ秒の精度が必要な場合は、小数秒に分割してください。つまり、1ミリ秒前は次のとおりです。
0.001.seconds.ago
ほぼすべての数値の末尾に置く.ago
と、その数値は秒数として扱われます。
分数をparanthesisで使用することもできます。
(1/2.0).hour.ago # half hour ago
(1/4.0).year.ago # quarter year ago
注:分数を使用するには、分子または分母のいずれかが浮動小数点数である必要があります。そうでない場合、Rubyは自動的に答えを整数にキャストし、数学を破棄します。
あなたはsthを意味します。このような?
if time_ago < Time.now-(1.days+1.hour+1.minute)
execute me
end