首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在过去的sql中转换为localtime

在过去的sql中转换为localtime
EN

Stack Overflow用户
提问于 2015-03-30 18:54:59
回答 1查看 72关注 0票数 2

我将时间戳存储在数据库中,以UTC表示,例如'2015-03-27 08:32:46.024 +00:00‘

我使用当前的服务器时区将时间戳转换为本地时间。

代码语言:javascript
运行
复制
select 
    SWITCHOFFSET (CAST(CAST('2015-03-27 08:32:00.000 +00:00' AS datetime2(3)) as DateTimeOffset(3)), DATEPART(TZ, SYSDATETIMEOFFSET ()) )

只要我在wintertime中查看wintertime时间戳,就可以很好地工作。

对于上个星期五的时间,冬季时间戳以夏季时间表示:'2015-03-27 10:32:00.000 +02:00‘。

我想看2015-03-27 09:32:00.000 +01:00。

谁有不在数据库中存储冬季和夏季的解决方案?

EN

回答 1

Stack Overflow用户

发布于 2015-04-03 13:16:24

正如我在问题的注释中提到的,这通常最好在应用程序代码中完成,而不是在数据库中完成。但是,在某些情况下,将它保存在数据库中可能非常有用,或者是必要的。例如,您可能需要按特定时区中的日期进行分组,或者可能需要批量转换许多项,或者为报表系统生成数据。

对于这些,您可以使用我的SQL Server Time Zone Support项目。

按照安装说明进行操作,然后您可以执行以下操作:

代码语言:javascript
运行
复制
SELECT Tzdb.UtcToLocal('2015-03-27 08:32:46.024', 'Europe/Paris')

我猜是在你的时区。您可以选择任何from the list here

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29344346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档