我使用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"
希望它有幫助!