私のサーバーはカリフォルニアにあり、ATM は PDT オフセット -07:00 で時間を返します。これをUTCに簡単に変換できます:
SELECT SWITCHOFFSET(SYSDATETIMEOFFSET(), '+00:00')
しかし、私が本当に欲しいのは西ヨーロッパ時間 (別名ロンドン時間) で、現時点では +00:00 ですが、数週間後には +01:00 になります。世界のさまざまな地域がいつ夏時間に移行し、いつ終了するかについてのロジックを組み込みたくはありません。
MS SQL は、 のパラメータとしてタイム ゾーン名をサポートしていませんSWITCHOFFSET()
。単なるオフセットではなく、「実際の」タイムゾーンを取得するためのトリックはありますか? このトピックは、Google にとって驚くほど難しいものでした。がどのように利用できるようになったかについての無数の記事がありDATETIMEOFFSET
ますが、それを利用する方法についてはほとんど書かれていません。
に関する MS の記事は次のとおりですSWITCHOFFSET()
。実際のローカル タイム ゾーンに到達することについては何もわかりません。
.NET hereについてはかなり良い質問がありますが、CLR を設定せずにこれを行いたいと思います。