我有一个模型,称为事件,具有时间属性。我将其设置为 Time.now,并在保存之前记录对象上的时间,如预期的那样,它比当前时间晚一两秒。但是,一旦保存该对象,然后在数据库中找到该对象,时间就会不同,日期部分是 2000 年 1 月 1 日。这是什么原因造成的?我该怎么做才能确保正确保存我的时间?编辑:列类型是时间,数据库是SQLite。
最佳答案
听起来您可能正在保存时间
对象而不是日期
对象。
事件记录允许您使用时间
、日期
和日期时间
对象。
但是,如果您使用 time
或 date
对象,它们仍然是一种(解释它的糟糕方式,请参阅有关更多详细信息,请参阅下面的链接响应)完整的 datetime
对象。当您阅读它们时,日期将出现在 time
对象上(通常为 2000 年 1 月 1 日)。
What can I do to make sure my times are saved correctly?
如果保存/读取完整的日期时间
对此字段很重要,您可能需要考虑更改表示要使用的模型的迁移:
object.datetime
。 。 。而不是:
object.time
有关更多详细信息,请参阅此回复:https://stackoverflow.com/a/3929047/1026898
关于ruby-on-rails - 在 Rails 中保存到数据库时,时间属性会发生更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24967542/