如何减去Rails中的时间?

时间:2017-04-14 12:23:44

标签: ruby-on-rails time

我是Ruby和Rails的新手。 我在db中有一个时间类型列,用于存储表单中的用户时间输入。

<div class="col-md-12">
   <%= form_for(Gotime.new) do |f| %>
    <%= f.time_select :hours%>
    <%= f.submit "Submit" %>
    <% end %>
</div>

我需要从Gotime.last减去X分钟以获得新的时间。似乎为了做到这一点,我需要以某种方式将Gotime设置为我将从中计算Х分钟的开始时间。我怎样才能做到这一点?这个想法是正确的还是应该以其他方式完成?

1 个答案:

答案 0 :(得分:2)

如果您有time

  

Gotime.last.time - 3.minutes

如果您有hoursminutes列 并且您希望按分钟减去时间:

obj = Gotime.last

time = DateTime.now.change({ hour: obj.hours, min: obj.minutes, sec: 0 })

time - 3.minutes

如果您有日期时间,可以用它替换DateTime.now