Ruby on Railsでpostgresqlを使用しています。今、私は毎日の上にサインアップしたユーザーの数をカウントするためにこれを使用しています:Rails/Postgresql:特定のタイムゾーンで日時フィールドを使ってレコードを素早くグループ化する方法はありますか?
@users_signup_by_day = User.count(:order => 'DATE(created_at) DESC', :group => ["DATE(created_at)"])
これは動作しますが、ユーザーがUTCに応じてグループ化されています。どのようにしてESTに従ってユーザーをグループ化できますか?
更新
ユーザーがUTCに応じてグループ化されています。 ESTに基づいてユーザーをグループ化するにはどうすればよいですか?
明確にする:UTCで始まり、UTCで終了する特定の日付は、ESTで開始され、終了する日付とは異なる時間です。現在、上記のコマンドによって生成されたクエリは、ユーザーが作成した日時をUTCにして、その期間に基づいて作成された日までにユーザーをグループ化します。 UTCではなくESTに基づいて日付別にグループ化したいと考えて、これをどのように補うことができますか?
私は、次の(おかげアーウィンBrandstetter)を試してみました:
User.count(:order => "DATE(created_at AT TIME ZONE 'EST') DESC", :group => ["DATE(created_at AT TIME ZONE 'EST')"])
をしかし、最初の結果が
["2011-12-02", 276]
であり、それは12月2日ではないので、これは正しい結果が得られていません/ 2011年(UTC - 5時間)はまだです。私はどんな助けにも感謝しています。