UTC 時間として保存された DateTime を現地時間に変換する SQL Server の関数はありますか? 問題は、時間を UTC 時間として保存していて、タイム ゾーン オフセットを次のように計算していたことです。
select @tzoffset = datediff(mi,SYSDATETIMEOFFSET(),SYSDATETIME())
それを UTC 時間に追加すると、夏時間になるまで問題なく機能しました。現在のタイム ゾーン オフセットが選択されるため、DST より前の値の計算は無効です。
日付は ASP.NET Web フォームでレンダリングされるため、日付を としてレンダリングすることで問題を回避しましたTimeZoneInfo.ConvertTimeFromUtc((DateTime)Eval("maxtime"), TimeZoneInfo.Local)
。これは自動的に機能します。
T-SQL で同様に洗練されたものはありますか?