检查日期时间字段是否>比当天的特定小时

时间:2012-05-04 00:05:52

标签: ruby-on-rails

Rails 2.3.5 / Ruby 1.8.7

对于日期时间记录字段,是否有一种Time方法可以在一行中说“如果这个时间是>今天早上5点”?

像:

<td>
 <% if my_data.updated_at > 5am this morning %>
   Valid
 <% else %>
  Expired
 <% end %>
</td>

我猜不然它会存储now(),将它的'hour'属性更改为'05'然后将datetime字段与之比较?

谢谢 - 由于某些原因,与时代合作仍然让我感到困惑。

2 个答案:

答案 0 :(得分:2)

<td style="text-align:center;">
  <% if my_data.last_status_update.blank? %>
       &nbsp; - &nbsp;
  <% else %>
      <%=h my_data.last_status_update.strftime("%m-%d-%Y @ %H:%M CST") %>
  <% end %>
</td>
   <%
      if !my_data.last_status_update.blank? && my_data.last_status_update.year == Time.now.year &&
      my_data.last_status_update.day == Time.now.day && my_data.last_status_update.hour >= 5
   %>
       <td style="text-align:center;background:#90ee90">
         YES
       </td>
  <% else %>
        <td style="text-align:center;background:#ff9999">
         EXPIRED!
       </td>
  <% end %>

答案 1 :(得分:0)

我从不使用Time方法,但我猜您可以查看rails API:http://corelib.rubyonrails.org/classes/Time.html

您可以使用Time.at