0

我有一个数据库对象my_deal,其中设置了未来点的日期和时间。这个对象有一个属性deal_end。我想返回剩余时间并将其格式化为DD:HH:MM. 例如,假设日期和时间是从这一刻起的三天:

my_deal.deal_end
=> 02:23:59

如果不安装一些 gem,我找不到这样做的方法。是否有任何 ruby​​ 核心方法可以使这变得容易?

注意:时间在数据库中的存储方式(以及我在deals模型中使用的方式)如下:

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 回答