【问题标题】:Distance_of_time_in_wordsDistance_of_time_in_words
【发布时间】:2013-03-16 05:45:00
【问题描述】:

我正在使用 distance_of_time_in_words 和扩展 gem dotiw,如下所示:

<%= distance_of_time_in_words(@client.report_missing_after.days, Date.today, false, except: ["hours","minutes"])  %>

如果@client.report_missing_after 等于7,上面的代码将按预期返回“7 天”。如果@client.report_missing_after 等于 1-28,这可以正常工作,但是,当我突然达到 29 时,输出看起来像:

87847649280000 years and 238878720000 days

这是不正确的。

我不知道我在哪里出错了。帮忙?

更新:

根据评论,我只是尝试将第一个参数作为整数传递,但它仍然不起作用:

<%= distance_of_time_in_words(29.days ,0, false, except: ["hours","minutes"]) %>

【问题讨论】:

  • 我会说他们检查了 28 天,因为 2 月。

标签: ruby-on-rails ruby datetime


【解决方案1】:

您是否尝试过明确地传递这些日子?

29.days

var.days

【讨论】:

    【解决方案2】:

    事实证明,当你正确使用它时,distance_of_time_in_words 效果更好,我的意思是使用时间戳而不是日期时间对象。

    这就是最终对我有用的东西:

    <%= distance_of_time_in_words(Time.now, Time.now+29.days, false, except ["hours","minutes"]) %>
    

    【讨论】:

      猜你喜欢
      • 2010-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多