私はテーブルsessions
とdatetimeフィールドstarts_at
を持っています。 starts_at
はUTCに格納されていますが、私は、ローカルタイムでstarts_atでソートされたセッションをdatetimeではなく時間として返したいと思います。 s2, s1, s3
を:私は彼らがこの順序で返さほしいとタイムゾーンを考慮せずにアクティブレコードの注文句でmysql関数を使用する
s1 Jan 1, 13:00
s2 Jan 2, 11:00
s3 Jan 1, 23:00
:
は、だから私は、日付時刻とのセッションを持っている場合。
今や、現実にはタイムゾーンがutcに2時間を追加すると言うことができるので、現地時間ですべてのutcタイムを取得したいと思います。 s2, s1, s3
の順番が間違っています。私たちはs3、s2、s1が必要です。
私は何をしようとしてきたことである:
Session.order("CONVERT_TZ(starts_at,'UTC', '#{tz}')")
と
tz = Time.now.strftime('%Z')
(この前に、私はまた、すべての時間帯にTime.now.zoneを設定
Session.order("TIME(CONVERT_TZ(starts_at,'UTC', '#{tz}'))")
セッションは行われます)
残念ながら、これは私に奇妙なresuを与えていますどのような順番でもないように見えるlts。
ありがとうございました! 「UTC」と「PDT」の文字列を渡すように見えますが、何時間も過ぎても問題なく動作しました。 – xxyyxx