Grailsアプリケーションに次の行があり、デフォルトのタイムゾーンをUTCに設定しています。
TimeZone.setDefault(TimeZone.getTimeZone("UTC"))
フィールドを持つAudit
エンティティがありdateCreated
ます:
class Audit {
Date dateCreated
String message
}
次に、そのインスタンスを作成して保存します。
def audit = new Audit(message: "Testing audit message")
これにより、UTC時間としてデータベースに正しく保存されます。しかし、私がそれを読み返そうとすると:
audit = Audit.get(1)
代わりに、タイムスタンプが現地時間として読み戻されます。したがって、タイムゾーンが+1 UTCで、現在の現地時間が12:34:56 BSTの場合、データベースに保存されるのは11:34:56ですが、読み返すと11:34:56BSTになります。 。GrailsがタイムスタンプをUTCとして読み戻し、それに応じて変換するように、この問題を修正する方法を知っている人はいますか?