ActiveRecord将时间显示为DateTime

时间:2016-02-25 03:14:22

标签: ruby-on-rails activerecord

我有一个time类型的数据库字段 该字段仅存储DB中的时间。 当在Rails 4.2中使用ActiveRecord读取字段值时,我得到一个dateTime值。例如:

数据库中的

08:30:00变为2000-01-01 08:30:00

这是AR的预期行为吗?

2 个答案:

答案 0 :(得分:-1)

数据库始终存储这些值。您可以使用time.to_s(:db)来修改它。

查看this answer

答案 1 :(得分:-1)

MySQL中没有数据格式可以只保存时间:它必须附加日期以便有用。

如果您打算使用HH:MM:SS格式,

请使用rails功能,例如 strftime(" HH:MM:SS") ......

其他信息如: 的 * TO_TIME * TO_DATE