我在使用Time.now時遇到問題。由於某種原因,當我將一個對象保存到數據庫時,它保存了2000年的數據。我試圖比較我保存在數據庫中的對象Time.now,以檢查它是否更大,但它總是返回因爲2000年是虛假的。有人知道我可以解決這個問題的方法嗎?Ruby on Rails Time.now
我只需要檢查,確保了10分鐘,過去了,因爲我創建了一個對象時相比Time.now
我在使用Time.now時遇到問題。由於某種原因,當我將一個對象保存到數據庫時,它保存了2000年的數據。我試圖比較我保存在數據庫中的對象Time.now,以檢查它是否更大,但它總是返回因爲2000年是虛假的。有人知道我可以解決這個問題的方法嗎?Ruby on Rails Time.now
我只需要檢查,確保了10分鐘,過去了,因爲我創建了一個對象時相比Time.now
這聽起來像你的數據庫列是time
型的,而不是datetime
或timestamp
。這隻會存儲時間,當它被轉換爲紅寶石(支持日,月,年等)的Time
實例時,默認值用於日,月,年,這就是爲什麼你會看到2000年。
如果這是問題,您可能需要將數據庫列更新爲datetime
或timestamp
,因爲它聽起來像是您希望無論如何都需要日,月,年的部分時間。在這種情況下,你的比較將起作用。
是的,這聽起來似乎合理。 – einarmagnus 2010-09-10 08:23:13
是的,該列是類型時間。我一直在嘗試created_at部分,它仍然無法正常工作。 – Brian 2010-09-10 08:25:18
不確定你的意思。我沒有提到created_at。 – Shadwell 2010-09-10 08:35:34
created_at < 10.minutes.ago
應該工作
這似乎並沒有工作..如果我只是創建對象,類型1分鐘前後2它仍然說真 – Brian 2010-09-10 08:05:37
嘗試追加to_date,並看到它有助於'created_at <10.minutes.ago.to_date' – einarmagnus 2010-09-10 08:15:36
是你的數據庫服務器與運行代碼在同一臺機器上? – einarmagnus 2010-09-10 08:16:30
您正在使用哪個數據庫引擎? – 2010-09-10 08:18:02