我使用带stime
属性的rails创建了一个数据库(指的是开始时间)。它的类型是Time
。当我添加记录时:
stime = "10:10"
它已被添加为:
"stime":"2000-0101T10:10:00.000Z"
我只想要时间,而不是日期。我认为这是Time
和DateTime
之间的区别。谁能告诉我这是什么问题?
答案 0 :(得分:3)
正如文件所述,它不是。
时间是日期和时间的抽象。时间存储在内部 作为1月1日以来的分数的秒数, 1970 00:00 UTC。
你可以做几件事:
time
类型。这样您就可以执行以下操作:YourModel.where("stime > '13:00:00'")
。答案 1 :(得分:3)
处理这个问题的一种方法是举例说明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"
希望它有所帮助!