Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Ruby:减去两个日期以更新_Ruby On Rails_Ruby_Date_Time - Fatal编程技术网

Ruby on rails Ruby:减去两个日期以更新

Ruby on rails Ruby:减去两个日期以更新,ruby-on-rails,ruby,date,time,Ruby On Rails,Ruby,Date,Time,我正在寻找一种减去两个日期的方法。我不确定常规的-是否适用于此。如果这有效,我仍然需要它显示5s前更新的,而不是0h0m5s前更新的,如果帖子是5s前更新的。3分钟前更新的也是如此,我不希望它显示秒数或小时数 因此,我需要更新的时间与不等于0的最不精确的时间单位一样精确 如果帖子更新时间不到1秒,现在显示 如果帖子在1秒前更新,则有格式 如果帖子在1分钟前更新,则格式为#m 如果帖子在1小时前更新,则格式为#h 如果帖子在1天前更新,则有格式#d 如果帖子更新时间1个月,则格式为#m 如果帖子

我正在寻找一种减去两个日期的方法。我不确定常规的
-
是否适用于此。如果这有效,我仍然需要它显示
5s前更新的
,而不是
0h0m5s前更新的
,如果帖子是5s前更新的。3分钟前更新的
也是如此,我不希望它显示秒数或小时数

因此,我需要更新的时间与不等于0的最不精确的时间单位一样精确

  • 如果帖子更新时间不到1秒,现在显示

  • 如果帖子在<1分钟前更新,但在>1秒前更新,则有格式

  • 如果帖子在<1小时前更新,但在>1分钟前更新,则格式为#m

  • 如果帖子在<1天前更新,但在>1小时前更新,则格式为#h

  • 如果帖子在<1个月前更新,但在>1天前更新,则有格式#d

  • 如果帖子更新时间<1年,但更新时间>1个月,则格式为#m

  • 如果帖子更新时间>1年,则采用y格式

如果我不够清楚,请告诉我

谢谢。

在视图中尝试此功能

<%= time_ago_in_words(@post.updated_at) %>


检查方法或

时间(用词来说)可能就是你要找的,你可能想看看它似乎正符合你的需要