首页 > 解决方案 > 如何在sql中将GMT时间转换为本地时区

问题描述

我们如何将 GMT 转换为本地 SQL DATE?当我存储 GMT 时间时,会从该值中减去 1 小时。请帮我。

标签: timezone

解决方案


您的问题写得有点模棱两可,但我猜您想将 UTC 日期时间(有时称为 GMT 或祖鲁时间)转换为您当地时区的日期时间。

您指出您的本地时区与 UTC 时间相差 -1 小时。

在这种情况下,您只需使用以下DATEADD功能:

SET MyTimeLocal = DATEADD(HH, -1, MyTimeGMT)

请注意,只有当您的时区确实比UTC时间早一小时时,这才有效。如果您所在的位置使用夏令时,则一旦时间更改,这将是错误的,而当要转换的时间落在时钟更改的间隙时, 则将更加错误。

一般来说,有很多更好的方法可以做到这一点,但要给出一个通用的解决方案,我们需要知道正在使用什么版本的 SQL 以及您到底想要完成什么。


推荐阅读