1

Railsアプリでスクリプトを1時間ごとに実行して、実行する新しいトランザクションを探すcronがあります。通常、これは、翌日のすべてのトランザクションの期限が切れるUTCの午前0時まで、当日に開始するように設定された新しいトランザクションのみを取得します。Railsアプリは中部標準時で動作していますが、PostgresはUTCに設定されています。where句付きのスコープを使用しているnow()ため、日付を比較するために、新しい日のトランザクションは夕方(米国)に実行されます。Postgresのタイムゾーンを中部標準時に切り替えることの欠点はありますか?私の知る限り、すべてのタイムスタンプはUTCで記録されますが、タイムゾーン設定に基づいてクエリが実行されます。

4

1 に答える 1

1

アプリケーション内では常に UTC を使用し、コントローラーやビューなど、必要に応じてアプリケーションの端で他のタイムゾーンへの変換のみを実行する必要があります。

クエリで、日付操作を実行now()して、必要なタイムゾーンに変換します。

于 2013-01-07T20:32:03.447 に答える