如何在数据库中只存储时间



我使用rails 3,我想存储start_time和end_time。因为rails不支持日期范围。

我应该使用哪种数据类型来存储没有日期的时间,以便以后进行比较?

这是表Schedules中具有tsrange数据类型的数据库模式(我应该使用哪种数据类型来替换它?)

CREATE TABLE Doctors
(
id INTEGER UNIQUE,
name VARCHAR(size)
);
CREATE TABLE Schedules
(
id INTEGER,
doctor_id INTEGER,
start_time tsrange,
end_time tsrange,
day VARCHAR(size)
);
CREATE TABLE Appointments
(
id INTEGER,
doctor_id INTEGER,
aday DATE
);

:time数据类型可能是您正在寻找的。

另外,当我试图了解rails中日期/时间数据类型之间的差异时,这个问题确实帮助了我:

在Ruby on Rails中,DateTime, Timestamp, Time和Date的区别是什么?

你还应该考虑使用datetime数据类型,并简单地使用strftime转换它,例如

 t = Time.now
 t.strftime("%I:%M%p")

这将接受日期/时间,并简单地格式化为小时/分钟/AM|PM,省略日期。

相关内容

  • 没有找到相关文章

最新更新