web-dev-qa-db-ja.com

Ruby / Railsの「前」の日付/時刻関数

Railsのようにタイムスタンプを計算する方法はありますか-半分前、2分前、1日前など。Twitterリアルタイム日付スタンプのようなものです。

Ruby/Railsにそのような日時変換用の組み込み関数があるかどうかを知りたいですか?

86
kapso

次を使用できます。

10.minutes.ago
2.days.since

または、あなたの意見にはヘルパーがいます:

distance_of_time_in_words(from_time, to_time)
time_ago_in_words(from_time)

詳細とその他のオプションについては、 API を確認してください。

171
Toby Hede

distance_of_time_in_words

from_time = Time.now

distance_of_time_in_words(from_time, from_time + 50.minutes) # => about 1 hour
distance_of_time_in_words(from_time, 50.minutes.from_now) # => about 1 hour
distance_of_time_in_words(from_time, from_time + 15.seconds) # => less than a minute
distance_of_time_in_words(from_time, from_time + 15.seconds, include_seconds: true) # => less than 20 seconds

time_ago_in_words

time_ago_in_words(3.minutes.from_now) # => 3 minutes
time_ago_in_words(3.minutes.ago) # => 3 minutes
time_ago_in_words(Time.now - 15.hours) # => about 15 hours
1
Dorian