Die Abfrage für den Datumsbereich in rails

Habe ich einen Bereich, der Abfragen für die heutigen Anrufe. Basierend auf dem Umfang ich es nutzen zu zählen, die Anzahl der Anrufe für heute.

Meine Termine werden in UTC gespeichert, sondern Schienen wandelt auf meinem lokalen Zeitzone. Was ich versuche zu tun ist, finden alle Anrufe zwischen heute um 00:00 und 23:59.

Umfang:

scope :today, where("DATE(transfer_date) BETWEEN ? AND ?", Time.zone.now.utc.beginning_of_day, Time.zone.now.utc.end_of_day)

irb-Ausgang: (Die nennen es fängt aufgrund UTC)

irb(main):010:0> Call.last.transfer_date
  Call Load (0.9ms)  SELECT "calls".* FROM "calls" ORDER BY "calls"."id" DESC LIMIT 1
=> Sun, 07 Oct 2012 19:45:00 CDT -05:00
irb(main):011:0> 

irb(main):011:0> Call.last.transfer_date.utc
  Call Load (1.3ms)  SELECT "calls".* FROM "calls" ORDER BY "calls"."id" DESC LIMIT 1
=> 2012-10-08 00:45:00 UTC

Ich versuche, herauszufinden, wie die Abfrage nur fordert, dass zwischen 00:00 und 23:59 für heute. Bisher versuchen, den Umfang mit und ohne utc, zone, etc funktioniert nicht. Es hält ziehen Sie die Rahmen basierend auf der UTC-was beinhaltet der Anruf von gestern (gestern, wenn es formatiert ist, die mit der lokalen Zeitzone).

Wie kann ich eine Abfrage zwischen den beiden Zeiten zu bekommen, die richtige Ausgabe? Ich bin irgendwie hier verloren.

  • können Sie bitte stellen Sie Ihre Fragen klar, bitte, bedeutet, welches Modell Sie gab den Rahmen, und unten Sie hat nicht geschrieben, die heute als Rahmen.
InformationsquelleAutor nulltek | 2012-10-08
Schreibe einen Kommentar