Ich habe einen Datumsbereich (von, bis), den ich durch verschiedene Intervalle durchlaufen möchte (täglich, wöchentlich, monatlich, ...)
Wie kann ich diese Datumsbereiche durchlaufen?
Aktualisieren
Danke für deine Antworten, ich habe folgendes gefunden:
%Vor%Dadurch wird ein Datumsbereich mit den Intervallen Woche, Monat oder Jahr durchlaufen und der Anfang und das Ende des angegebenen Intervalls berücksichtigt.
Da ich das in meiner Frage nicht erwähnte, wählte ich die Antwort, die mich in die richtige Richtung trieb.
Schleife, bis from
date plus 1.day
, 1.week
oder 1.month
größer ist als to
date?
In Ruby 1.9 habe ich eine eigene Methode für den Bereich zum schrittweisen Durchlaufen von Zeitbereichen hinzugefügt:
%Vor%Dann können Sie dies wie z. (Mein Beispiel verwendet eine Rails-spezifische Methode: 15. Minuten):
%Vor%Beachten Sie, dass diese Methode die Ruby 1.9-Konvention verwendet, bei der Enumerationsmethoden einen Enumerator zurückgeben, wenn kein Block angegeben ist. Dadurch können Sie Enumeratoren zusammen stringulieren.
Ich habe die core_extensions
"Perle" hinzugefügt. Wenn Sie dies in Ihrem Rails-Projekt verwenden möchten, fügen Sie einfach Folgendes zu Ihrer Gemdatei hinzu:
Tags und Links ruby ruby-on-rails-3 ruby-on-rails activerecord intervals