当前位置: 首页 > 面试题库 >

Grails将日期时间保存为UTC时间,但将其读取为本地服务器时间吗?

令狐翰
2023-03-14
问题内容

我的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:56 BST
。有人知道如何解决此问题,以便Grails可以将时间戳读回UTC并进行相应转换吗?


问题答案:

Bootstrap.groovy

 TimeZone.setDefault(TimeZone.getTimeZone("UTC"))

JAVA_OPTS

-Duser.timezone=UTC

来源:此主题



 类似资料:
  • 问题内容: 从服务器上,我得到了这种格式的datetime变量:它是UTC时间。我想使用JavaScript将其转换为当前用户的浏览器时间。 如何使用JavaScript或jQuery完成此操作? 问题答案: 在将字符串转换为javascript中的日期之前,将’UTC’附加到字符串中:

  • 问题内容: 我从来没有不得不将时间与UTC转换。最近有人要求我的应用注意时区,并且我一直在圈子里奔波。我发现很多有关将本地时间转换为UTC的信息,这很基本(也许我也做错了),但是我找不到任何有关将UTC时间轻松转换为最终用户时区的信息。 简而言之,android应用程序向我发送了(appengine应用程序)数据,该数据中包含时间戳。要将时间戳存储为UTC时间,我正在使用: 那似乎行得通。当我的应

  • 我想把这个2021年1月20日20:10:14转换成yyyy-MM-dd'T'HH:MM:ss格式。Android系统中的SSS'Z'。目前我正在使用函数,但当我转换为本地格式时,我没有得到原始时间

  • 问题内容: 我想将服务器UTC时间转换为本地时间,反之亦然。这是我的代码。 我知道当地时间 o / p:“下午12:52” 但是实际的本地时间和输出时间相差23分钟。 问题答案: 我不知道您的代码有什么问题。 但是看起来有太多不必要的事情,就像您要设置日历,从字符串中获取某些元素一样。这是我的UTCToLocal和localToUTC函数的小版本。 但是为此,您需要以特定格式传递字符串。原因我已强

  • 问题内容: 我使用以下方式将UTC日期存储到数据库中: 然后我要将保存的UTC日期转换为客户的本地时间。 我怎样才能做到这一点? 谢谢 问题答案: 并且都使用服务器除非被覆盖本地时区; 您可以覆盖与一起使用的时区。

  • 问题内容: 我需要一种简便的方法,可以在不使用任何库的情况下将日期时间戳转换为UTC(从服务器所在的任何时区)。 问题答案: 尝试getTimezone和setTimezone,请参见示例 (但这确实使用了一个类) 更新: 没有任何类,您可以尝试这样的事情: 注意:您可能还需要将时区设置回原始