0

my_deal将来の時点の日付と時刻が設定されているデータベース オブジェクトがあります。このオブジェクトには属性がありますdeal_end。残り時間を返し、それをDD:HH:MM. たとえば、日付と時刻がこの時点から 3 日であると仮定すると、次のようになります。

my_deal.deal_end
=> 02:23:59

いくつかの宝石をインストールせずにこれを行う方法を見つけることができません。これを簡単にするルビーコアメソッドはありますか?

注: 時間をデータベースに保存する方法 (および取引モデルで使用する方法) は次のとおりです。

def end_time_set(days)
  end_time = (Date.today + days).to_s + " " + Time.now.to_s
  self.deal_end = end_time
  self.save
  return end_time
end
4

1 に答える 1

1

これがあなたの必要性だと思います:

my_deal.deal_end.strftime("%d:%H:%M")

例えば:

1.9.3p194 :002 > Time.now
 => 2013-10-14 15:33:56 -0500 
1.9.3p194 :003 > Time.now.strftime("%d:%H:%M")
 => "14:15:33" 
1.9.3p194 :004 > 

strftimeには、使用できる他の多くの形式オプションがあります

于 2013-10-14T20:34:32.380 に答える