[英]Ruby datetime suitable for mysql comparison
Rails一直很好,可以在MySql中自動插入格式正確的日期時間,而無需我多考慮。
但是,為了進行驗證,我需要檢查存儲的mysql日期時間值(即2008-07-02 18:00:00)是否大於或小於“now”。 我可以調用DateTime.now
或Time.now
但是如何將其轉換為mysql喜歡的格式?
謝謝
您可以使用to_s(:db)
轉換為數據庫友好格式。
Time.now.to_s(:db)
但是,如果在Rails中指定了時區,請小心,因為時間將以UTC格式存儲在數據庫中。 您需要指定進行適當的比較。
Time.now.utc.to_s(:db)
您也可以在MySQL中使用NOW()
函數,而不是在Ruby中生成當前時間。
你不需要。 讓Rails為您完成工作:
如果您的模型是Widget
則會找到最后一天創建的所有小部件:
Thing.find(:all, :condition => ["created_at > ?", Time.now - 1.day])
Rails會自動將時間戳轉換為正確的格式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.