-1

したがって、最新の日付を返す次のコードがあります。

my_dates = due_dates.results.map { |result| result.date_value}
= my_dates.max
// returns 2012-07-25T00:00:00+00:00

日付を時間前の形式で返したい:

time_ago_in_words(my_dates))

max メソッドはフォーマットを変更するため、time_ago は機能しません。

my_dates が返すことに注意してください

[Wed, 25 Jul 2012 00:00:00 +0000, Wed, 25 Jul 2012 00:00:00 +0000]

time_ago 形式で結果を達成する方法がわかりません。

4

1 に答える 1

1
  1. 日付に時間値を使用しています。DateTime.to_date (docs)を使用してから日付を比較してみませんか?
  2. 次に、Enumerable#max<=>メソッドは、 -methodで要素を比較します。型や値は変更されません。

多分これはあなたを助けるでしょう:

max = [Time.now, Time.now-2.hours].max                # => 2013-07-08 19:05:35 +0200
max = [Time.now, Time.now-2.hours].map(&:to_date).max # => Mon, 08 Jul 2013
ActionView::DateHelpers.time_ago_in_words(max)        # => "about 10 minutes ago"
于 2013-07-08T17:12:54.887 に答える