gpt4 book ai didi

sql - Sql Server 的夏令时

转载 作者:行者123 更新时间:2023-12-01 23:58:39 25 4
gpt4 key购买 nike

我们正在使用一个以 C/Unix 格式存储日期的旧应用程序。 C 时间基本上是自 1970 年 1 月 1 日以来的秒数。日期以整数形式存储在 SQL Server 数据库中。我正在为使用这些日期的报告编写 View 。

到目前为止,我正在使用以下命令将 UNIX 时间转换为 native 日期时间:

DateAdd(s,3600+unix_time,'1/1/1970')

3600 将从 UTC 转换为我们本地的 GMT+1 时区。这在冬天是准确的,但在夏天,由于夏令时,它会减少一小时。

SQL Server 中是否有内置方法可以将 UTC 时间转换为本地时间?

最佳答案

实际上,上面的答案忽略了夏令时。如果当前不是夏令时,夏令时内的日期将休息一小时,反之亦然。此外,许多不同国家的立法者喜欢使夏令时变得比实际需要的更加复杂。

本质上,如果可能的话,尽量在 SQL Server 中避免这种情况。客户端日期处理库通常可以得到正确的结果。如果您需要使用数据库中已有的时间戳,请考虑将它们转换为日期时间列或将日期值转换为客户端代码中的时间戳,然后再将它们用作查询参数。

这只是那些一直以错误的方式发明的轮子之一。

关于sql - Sql Server 的夏令时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/796723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com