SQL Server 中是否有一个函数可以将保存为 UTC 时间的 DateTime 转换为本地时间?问题是我将时间保存为 UTC 时间,并且我曾经将时区偏移量计算为
选择@tzoffset = datediff(mi,SYSDATETIMEOFFSET(),SYSDATETIME())
并将其添加到我的 UTC 时间,在夏令时到来之前它工作得很好。由于选择了当前时区偏移量,因此计算对于 DST 之前的值无效。
由于日期以 ASP.NET Web 表单呈现,因此我通过将日期呈现为 来解决该问题TimeZoneInfo.ConvertTimeFromUtc((DateTime)Eval("maxtime"), TimeZoneInfo.Local)
,这会自动工作。
T-SQL 中是否有同样优雅的东西?