UPDATE:私は完全なソリューションを反映するために質問を更新しています。以下に述べるtime_diff宝石Brettを使用して、次のコードが働きました。計算日における時間差、時間と分
コード:
cur_time = Time.now.strftime('%Y-%m-%d %H:%M')
Time.diff(Time.parse('2011-08-12 09:00'), Time.parse(cur_time))
おかげで、ブレット。
UPDATE:私は完全なソリューションを反映するために質問を更新しています。以下に述べるtime_diff宝石Brettを使用して、次のコードが働きました。計算日における時間差、時間と分
コード:
cur_time = Time.now.strftime('%Y-%m-%d %H:%M')
Time.diff(Time.parse('2011-08-12 09:00'), Time.parse(cur_time))
おかげで、ブレット。
私はあなたがそれをチェックアウトすることができます、簡単に前にこの種のものを達成するためにtime_diffを使用しました。
外部の宝石を使用することなく、簡単にこのようなメソッドを使用して日付の間の違いを得ることができます。
def release(time)
delta = time - Time.now
%w[days hours minutes].collect do |step|
seconds = 1.send(step)
(delta/seconds).to_i.tap do
delta %= seconds
end
end
end
release(("2011-08-12 09:00:00").to_time)
# => [7, 17, 37]
日、時間と分の配列を返しますし、簡単に年間含むように拡張することができ、月と秒も同様に表示されます:
def release(time)
delta = time - Time.now
%w[years months days hours minutes seconds].collect do |step|
seconds = 1.send(step)
(delta/seconds).to_i.tap do
delta %= seconds
end
end
end
release(("2011-08-12 09:00:00").to_time)
# => [0, 0, 7, 17, 38, 13]
ねえ、@ ream88。あなたのソリューションも同様に機能しました。私は宝石thoが好きです。 +1してください。 – Jay
いいです!大好きです。 –
「未定義のメソッドgsub! 2011-08-04 11:14:24 -0400:時間 "です。私は置いて、「time_diff_components = Time.diff(START_DATE_TIME、END_DATE_TIME)」「『time_diff』を必要と」するファイルを決定しようとしています。これはレール3と互換性があります。 – Jay
私はモジュールの前にapplication.rbにrequireを置き、モジュールには "time_diff ..."を置いていますか? ...うーん...それは動作していません。 – Jay
私はrails3.1.rc4を実行している - 私のGemfileに '宝石」time_diff''を置くには十分だった、私は明示的にそれを必要とする必要はありませんでした。バージョン0.2.1は私にとってうまくやっています。 –