良いコンソールを開くとすべての質問に答えます。 ..
で
は、それが>=
<
魔法を呼び出し...
で
User.where(created_at: Time.zone.today.beginning_of_day..Time.zone.today.end_of_day).to_sql
# SELECT "users".*
# FROM "users"
# WHERE ("users"."created_at" BETWEEN '2017-06-06 00:00:00' AND '2017-06-06 23:59:59.999999')
デシベルでBETWEEN
文を呼び出します。
User.where(created_at: Time.zone.today.beginning_of_day...Time.zone.today.end_of_day).to_sql
# SELECT "users".*
# FROM "users"
# WHERE ("users"."created_at" >= '2017-06-06 00:00:00' AND
# "users"."created_at" < '2017-06-06 23:59:59.999999')
Rails 5.1には、all_day
という名前の小さなヘルパーが含まれています。それはと同じ文を発行する..
Users.where(created_at: Time.zone.today.all_day).to_sql
注:
あなたは本当に被害妄想だと、超重要な救命アプリが起こっている場合は、Time.zone.today
が実際に変更される可能性がありますbeginning_of_day
とend_of_day
を呼び出してから1ミリ秒かかるので、これを行うことができます。
today = Time.zone.today
Users.where(created_at: today.beginning_of_day..today.end_of_day)
「..」が含まれる。 – sawa
_Sidenote:_この行を実行すると、 '(Time.now.beginning_of_day..Time.now.end_of_day).cover? Time.parse( '2017-06-06 00:00:00 +0000') 'は、コンソールに直接質問を投稿するより100倍速くなります。 – mudasobwa
これは 'User.where(:created_at => Time.now.beginning_of_day..Time.now.end_of_day).to_sql'で見ることができます – fangxing