3

我正在使用 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
);
4

1 回答 1

8

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

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

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

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

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

这将需要一个日期/时间,并简单地格式化为 Hour/Minute/AM|PM,省略日期。

于 2013-01-17T20:16:07.333 回答