2017-03-01 23 views

回答

2

Ruby中沒有時間類或Rails所以ActiveRecord代表time列與日期時間/時間戳記類。

如果您查看數據庫內部沒有任何ActiveRecord,Rails或Ruby噪聲,您將看到HH:MM:SS時間值。但是,當ActiveRecord將time拉出數據庫時,它將日期組件設置爲2000-01-01,因爲日期時間必須有日期並且AR選擇該日期。

任何時候在Ruby中使用start_hour時,都必須忽略日期組件。

+0

謝謝。爲什麼選擇「1/1/2000」而不是1970年的基準時間。這裏有什麼原因。謝謝。 –

+0

因爲大多數Rails開發者在1970年都沒有活着?說真的,可能沒有什麼特別的原因,他們只需要一個日期和2000-01-01看起來不錯。 –

-1

存儲在數據庫中的格式之間的差別與Rails無關,與您的數據庫有關的所有內容都無關。日期或時間格式在您的應用程序中僅「有效」,而不在數據庫中 - 更簡單地說,它們只負責將時間對象顯示給用戶,並且不會影響數據存儲方式。您最好的選擇是將記錄保存爲時間對象,然後使用Rails助手以strptime等方法以有意義的方式向用戶展示數據。

+0

數據庫有'時間'數據類型。這意味着時間不僅僅是應用程序的數據類型。 –

相關問題