2017-06-06 91 views
2

我在導軌2個不同的充日期Ruby on Rails的DIFF兩個日期

當前日期:

DateTime.now 

和一個存儲在數據庫(屬於一個對象)

格式其中兩個是不同的:

DateTime.now: 2017-06-06T13:06:14+00:00 
From Database: 2017-06-06 14:05:00 +0200 

我想做一個slect這樣的:

@lessons = self.where("start_date < ? AND active IS NULL", DateTime.now) 

問題是,這兩個日期都不同..

我如何可以格式化到同一個像其他的這些嗎?

可能是DateTime.now與db一樣嗎?

+1

是什麼'Time.zone.now'返回? –

+0

您可以使用db date與'start_date Iceman

+2

格式化僅僅是一種表示形式,並不具有在查詢中使用此值的權限。請記住,你也可以這樣查詢''start_date <'2017-01-01'「'這是完全有效的,即使我在這裏沒有時間戳的情況下使用字符串值。 – engineersmnky

回答

3

你並不需要將其轉換,軌道會照顧你

User.where("created_at < ?", DateTime.now).take 
# generate sql 
# SELECT `users`.* FROM `users` WHERE (created_at < '2017-06-06 13:41:27.649070') LIMIT 1