I have the following line in my Grails application to set the default timezone to UTC:
TimeZone.setDefault(TimeZone.getTimeZone("UTC"))
I have an Audit entity with a dateCreated field:
class Audit {
Date dateCreated
String message
}
Then I create and save an instance of it:
def audit = new Audit(message: "Testing audit message")
This will save it to my database correctly as UTC time. However, when I try to read it back:
audit = Audit.get(1)
The timestamp is read back as local time instead. So if my timezone is +1 UTC and the current local time is 12:34:56 BST, what will be saved to the database is 11:34:56, but when I read it back, it becomes 11:34:56 BST. Does anybody know how to fix this problem so that Grails will read the timestamp back as UTC and convert it accordingly?
in
Bootstrap.groovyon
JAVA_OPTS.Source : This thread