我们正在使用一个旧的应用程序,该应用程序以C / Unix格式存储日期。C时间基本上是自1970年1月1日以来的秒数。日期以整数形式存储在SQL Server数据库中。我正在为使用这些日期的报告编写视图。
到目前为止,我正在使用以下方法从UNIX时间转换为本地日期时间:
DateAdd(s,3600+unix_time,'1/1/1970')
3600将从UTC转换为我们当地的GMT + 1时区。在冬天,这是正确的,但在夏季,由于夏令时,该时间减少了一个小时。
在SQL Server中是否有将UTC转换为本地时间的内置方法?
而不是3600,您需要执行DateDiff(s,getutcdate(),getdate())+ unix_time,这将为您提供与UTC时间的正确偏移量。
干杯, 埃里克