我使用rails的stime
属性(指开始时间)创建了一个数据库。它的类型是Time
。当我添加了一个纪录:Rails中的时间数据类型
stime = "10:10"
它已被添加为:
"stime":"2000-0101T10:10:00.000Z"
我只希望时间,而不是日期。我认为这是Time
和DateTime
之间的差异。谁能告诉我问题是什么?
我使用rails的stime
属性(指开始时间)创建了一个数据库。它的类型是Time
。当我添加了一个纪录:Rails中的时间数据类型
stime = "10:10"
它已被添加为:
"stime":"2000-0101T10:10:00.000Z"
我只希望时间,而不是日期。我认为这是Time
和DateTime
之间的差异。谁能告诉我问题是什么?
正如文档所述,事实并非如此。
时间是日期和时间的抽象。时间在内部存储为 ,表示自世界时间1月1日 1970 00:00 UTC以来的分数秒数。
有几件事情可以做:
time
类型。这可以让你做这样的事情:YourModel.where("stime > '13:00:00'")
。处理这个问题,为了举例Uzbekjon的第三点,是存储时间为秒从凌晨起,整列方式一:
stime = Time.now
# => 2016-04-13 10:58:13 -0700
seconds = stime.seconds_since_midnight.to_i
# => 39493
然后你可以检索此值,并将其解析到当需要的时候:
time = Time.at(seconds).utc
# => 1970-01-01 10:58:13 UTC
result = time.strftime("%I:%M")
# => "10:58"
希望它有帮助!