【发布时间】:2021-11-29 08:34:56
【问题描述】:
我正在创建一个时间对象,用于收集过去 24 小时的所有信息,创建显示当前时间的对象没有问题。但我不确定如何在没有附加时区的情况下将其精确设置为过去 24 小时。
def set_time
@past_time = Time.now.to_s(:db) - 1.days
end
预期输出格式:
"2021-11-29 09:15:17"
结果:
undefined method `-' for "2021-11-29 10:19:46":String
【问题讨论】:
-
什么时候不应该附加时区信息,那么使用什么时区呢?服务器的时区可能是 UTC 或任何其他时区或您的本地时区?
-
请注意,默认情况下,Rails 在将时间戳保存到数据库时将其转换为 UTC,并在从数据库中读取它们时将其转换回本地时间。因此,如果您打算将该时间对象仅用于查询,则可能需要重新发明轮子。
标签: ruby-on-rails ruby