【问题标题】:Distance of time in words?时间的距离?
【发布时间】:2023-03-22 16:57:01
【问题描述】:

我正在尝试使用辅助 distance_of_time_in_words,它工作正常,但天数不准确。

我的桌子上有:

t.datetime "start"
t.datetime "end"

我正在使用:

<%= distance_of_time_in_words(Time.now, @promotion.end) %>

问题是,我的促销活动明天就结束了,但在我看来,它仍然说“还有 4 天”......

有什么问题?

【问题讨论】:

  • @TheChamp 我以为它是内置的。
  • 没有看到Time.now(您的系统时钟可能已关闭)和@promotion.end返回的内容,几乎没有任何人可以为您提供的建议。
  • 对不起,我的 WIFI 坏了。
  • 今天显示的是 5 天而不是 4 天……有些奇怪! @DaveNewton

标签: ruby-on-rails datetime time


【解决方案1】:

在您的情况下,distance_of_time_in_words 可能错误地计算了天数。例如,您不会认为 41 小时仍然算作 1 天,但确实如此:

helper.distance_of_time_in_words(41.hours+ 59.minutes+29.seconds)
=> "1 day"

在此处查看它使用的精美舍入原则: http://apidock.com/rails/ActionView/Helpers/DateHelper/distance_of_time_in_words

关于此行为,请参阅我发给 Rails 核心的电子邮件:https://groups.google.com/forum/#!searchin/rubyonrails-core/distance_of_time_in_words/rubyonrails-core/VnfsO0TNTOI/-EKjN6Egr6cJ

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-24
    • 2018-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多