我正在寻找一种在 SQL Server 中不使用 .NET 框架来找出给定时区时间的方法,并注意夏令时。但是,此方法还需要考虑不遵循 DST 的州(例如亚利桑那州)。
如果服务器位于遵循 DST 的某个地方,则有一种解决方法 - 从 GMT 减去您的当前时间以获得偏移量 - 但我正在寻找更通用的解决方案。我知道 .NET 框架有办法做到这一点,但最好避免在这个存储过程中产生这种依赖关系。
谢谢!
我正在寻找一种在 SQL Server 中不使用 .NET 框架来找出给定时区时间的方法,并注意夏令时。但是,此方法还需要考虑不遵循 DST 的州(例如亚利桑那州)。
如果服务器位于遵循 DST 的某个地方,则有一种解决方法 - 从 GMT 减去您的当前时间以获得偏移量 - 但我正在寻找更通用的解决方案。我知道 .NET 框架有办法做到这一点,但最好避免在这个存储过程中产生这种依赖关系。
谢谢!
我通常认为本地时间是一个视图问题,因此将其放入 Web/桌面应用程序中。在数据库中,我完全使用 UTC。因此,数据库中的所有日期时间列都存储了 UTC,所有用于报告的存储过程都采用 UTC 等。网络/桌面应用程序将去往/来自用户的任何日期转换为他们选择的任何时区。
我知道这并不能真正回答您的问题,但也许它为您提供了不同的方法?
您可以在 CLR 存储过程中执行此操作。这仍然是 SQL Server 内部的一个过程,并且依赖于服务器本身,而不是您必须编写的任何外部 .Net 应用程序。