Cela doit être une chose facile à faire, mais je pense que l'implémentation du fuseau horaire de Rail me dégoûte ...Portée ActiveRecord pour rechercher des enregistrements créés aujourd'hui?
Comment puis-je créer une portée dans Rails 3 (et ruby 1.9.2) pour interroger pour les enregistrements créés aujourd'hui?
Actuellement, je fais ceci:
scope :today, lambda {
where("created_at >= ? and created_at <= ?",
Date.today.beginning_of_day, Date.today.end_of_day)
}
Et il ne semble pas fonctionner comme il se doit. Je veux "aujourd'hui" représenter la période de 24 heures de 12h à 23h59 pour le fuseau horaire local d'un utilisateur. Ai-je besoin de convertir la date en UTC ou quelque chose?
Je me demandais - Est-ce que cela retournera vrai pour un format DateTime entier? Si oui, j'ai résolu ce problème avec des solutions prolixes pendant des années. –
Il va retourner une requête SQL comme: "... O WH created_at = '2010-12-01' ..." que MySQL puis analyse en faire correspondre tout le 1er décembre – brycemcd
format strtime est faux, devrait être YEAR-MONTH- JOUR, comme dans "% Y-% m-% d" – mguymon