所以我想项目显示为Items
剩余7天后该项目将被删除。我试过显示剩余时间与distance_of_time_in_words
<%= distance_of_time_in_words(item.created_at, item.created_at + 7.days) %>
但我得到的是所有项目上的“7天”。任何人都可以简单地说明这种帮助方法是如何工
所以我想项目显示为Items
剩余7天后该项目将被删除。我试过显示剩余时间与distance_of_time_in_words
<%= distance_of_time_in_words(item.created_at, item.created_at + 7.days) %>
但我得到的是所有项目上的“7天”。任何人都可以简单地说明这种帮助方法是如何工
在the documentation让长相看什么distance_of_time_in_words
做:
distance_of_time_in_words(FROM_TIME,TO_TIME = 0,选择= {})
报告之间的两地时间,日期或日期时间在时间的大致距离对象或整数作为秒。
因此它报告第一个参数和第二个参数的时间差。现在,你正在做的:
distance_of_time_in_words(item.created_at, item.created_at + 7.days)
item.created_at
和item.created_at
加七天之间的差异是永远......7天;-)
我认为这是一件永远七点后删除天?在这种情况下,你想什么,是当前的日期和创建日期加上7天,你可以得到的区别:
distance_of_time_in_words(Time.now, item.created_at + 7.days)
是的,这就是我想要得到的,谢谢。处理日期对我来说有点难,所以这种方法让我的头发变得混乱起来。谢谢你的解释:) –
@MiguelAngelQuintana是的,日期可以是尴尬的。但他们只是数字。许多计算机将日期存储为自1970年1月1日以来的秒数(目前为1458023724),并且当您说'+ 7.days'时,您实际上只是做了一个简单的加法:'1458023724 + 86400 * 7'一天有86400秒,这是一个有用的数字来记忆),仅此而已。显示为“Tue Mar 15 07:36:24 CET 2016”或“5天6小时”对于我们贫穷的人来说只是一种格式化的东西,就像'125秒'显示为'2:05'或'53.31 '作为'53,31' ... – Carpetsmoker
所以,你需要的是从目前的时间差。所以你应该这样做:'distance_of_time_in_words(Time.now,item.created_at + 7.days)'。如果您尝试使用“2 - (2 + 7)”,它将始终返回“-7”并且永远不会改变。 – Deep
感谢小比喻帮助加载非常感谢你! –