2009-12-10 4 views
2

Je souhaite exécuter des relevés Find qui affichent uniquement les résultats de la période actuelle de deux semaines d'une société. Il s'agit de la période de paie de l'entreprise. En d'autres termes, pas nécessairement seulement les deux dernières semaines d'enregistrement. Une recherche rapide semble que je ne vais pas être en mesure d'utiliser une méthode intégrée de temps comme Time.now.beginning_of_quarter ou Time.now.end_of_quarter. Quelle est la meilleure façon de mettre en œuvre cela?Comment trouver la période bihebdomadaire actuelle dans Rails

+0

êtes-vous sûr que c'est une question Ruby-on-rails? ressemble plus à une question SQL. – cbrulak

Répondre

3

Si vous utilisez la classe à la place Date de Time, vous pourriez utiliser la méthode cweek pour obtenir quelle semaine de l'année une date tombe dans, et diviser par deux pour déterminer quelle période toutes les deux semaines.

Par exemple:

now = Date.today #=> Thu, 10 Dec 2009 
period = now.cweek/2 #=> 25 

Notez que cweek prend le fait que l'année ne se divise pas également en 52 semaines (et donc pas en 26 périodes soit).

+0

Parfait. C'est exactement ce dont j'avais besoin. Je vous remercie! –

Questions connexes