在rails应用程序中如何获取每个循环记录的日期差异。我有一个名为date的字段,我想提取记录的降序日期之间的天数差异。
<div id="searchResult">
<table class="table">
<thead>
<tr>
<th>Guard Name</th>
<th>Client Name</th>
<th>Salary</th>
<th>Transfer Date</th>
<th>Days</th>
</tr>
</thead>
<tbody>
<% @search.each do |f| %>
<tr>
<td><%= f.guard.try(:name) %></td>
<td><%= f.client.try(:name) %></td>
<td><%= f.sallary %></td>
<td><%= f.date.strftime("%Y-%b-%d") %></td>
<td>Date Difference</td>
</tr>
<% end %>
</tbody>
</table>
</div>
答案 0 :(得分:1)
你可以得到它:
<div id="searchResult">
<table class="table">
<thead>
<tr>
<th>Guard Name</th>
<th>Client Name</th>
<th>Salary</th>
<th>Transfer Date</th>
<th>Days</th>
</tr>
</thead>
<tbody>
<% @search.each_with_index do |f, i| %>
<tr>
<td><%= f.guard.try(:name) %></td>
<td><%= f.client.try(:name) %></td>
<td><%= f.sallary %></td>
<td><%= f.date.strftime("%Y-%b-%d") %></td>
<td><%=TimeDifference.between(@search[i].date,@search[i+1].date).in_years%></td>
</tr>
<% end %>
</tbody>
</table>
</div>
这里@search
是一个数组,对于数组,我们可以得到如下结果: -
array[0] - array[1]
即previous_record.date - current_record.date
我认为它应该有用。
一个简单的例子是
start_time = Time.new(2013,1)
end_time = Time.new(2014,1)
TimeDifference.between(start_time, end_time).in_years
=> 1.0
答案 1 :(得分:0)
如果我理解你的问题:
有each_cons方法,它迭代N个以下项目:
records.each_cons(2) do |current, previous|
date_difference = current.date - previous.date
end