我建立一个新的时钟进度系统为我公司和我有一些麻烦搞清楚如何在某一特定日期添加所有的时间戳之间的时间差......时差阵列时间戳之间
这里是我的看法....
<% @punches_days.sort.each do |day, punches|%>
<h3><%= day.strftime('%A %D') %></h3>
<table>
<tr>
<th>Status</th>
<th>Comment</th>
<th>Time</th>
<th></th>
<th></th>
</tr>
<% for punch in punches %>
<tr>
<td><%= punch.status %></td>
<td><%= punch.comment %></td>
<td><%= punch.created_at.in_time_zone(punch.user.time_zone)%></td>
<td><%= link_to 'Show', punch %></td>
<td><%= link_to 'Edit', edit_punch_path(punch) %></td>
<td><%= link_to 'Destroy', punch, :confirm => 'Are you sure?', :method => :delete %></td>
</tr>
<% end %>
</table>
<% end %>
产生这个...
Sunday 11/06/11
Status Comment Time
In 2011-11-06 08:00:00 -0500 Show Edit Destroy
Lunch 2011-11-06 12:00:00 -0500 Show Edit Destroy
In 2011-11-06 13:00:00 -0500 Show Edit Destroy
Out 2011-11-06 16:00:00 -0500 Show Edit Destroy
Tuesday 11/08/11
Status Comment Time
In 2011-11-08 08:00:00 -0500 Show Edit Destroy
Lunch 2011-11-08 12:15:00 -0500 Show Edit Destroy
In 2011-11-08 13:00:00 -0500 Show Edit Destroy
Out 2011-11-08 16:41:00 -0500 Show Edit Destroy
我,我想什么是能够吻合的时间每一天,然后一个总所有。我知道如何获得两次之间的时间差,但我无法绕过我的头,得到一整天的时间差异......
我已经找到了一个什么样的网络我试图完成,并已拿出空...任何想法,将不胜感激....
谢谢...
EDIT)
这是我用的一部分控制器代码解决方案的实施,这确实给了我一个,但是,我不能每天都这样做,因为我如何使用有序散列。 ..
def timecard
@punches = Punch.timecard(params[:user])
@punches_days = @punches.group_by { |t| t.created_at.beginning_of_day}
@in_out_lengths = @punches.each_slice(2).map { |a| a[1].created_at - a[0].created_at }
@total = ((@in_out_lengths.inject(:+))/1.hour).round
respond_to do |format|
format.html # timecard.html.erb
format.json { render :json => @punches }
end
end
我对你的数据有点困惑。看起来好像有人在周日的12:15冲刺,直到周二11:10才打出拳头。这是一个很长的转变。 –
我想这将是大声笑,但这只是样本数据,我还没有写验证,以赶上这样的事情呢...只是试图把现在的坚果和螺栓...... –
所以真正的数据应该总是看起来像'[冲入,冲出,冲入,冲出......]“呢? –