轉換為帶有位移的日期時間
除了 SWITCHOFFSET(),我們也可以使用 TODATETIMEOFFSET(),把現有的日期時間轉成含位移的日期時間型別。若起始時間是 UTC,就需要先校正時區,然後再加上位移。要校正時區,可以手動加減小時(與分鐘)。
2016 年里約熱內盧夏季奧運的閉幕典禮於 2016 年 8 月 21 日晚間 11 點(UTC)開始。從包含該日期時間的字串出發,我們可以查看在其他地區的對應時間。對於亞利桑那州鳳凰城,你知道他們採用全年一致的 Mountain Standard Time(山區標準時間),也就是 UTC -7。吐瓦魯群島的時區則比 UTC 早 12 小時。
本練習屬於課程
SQL Server 的時間序列分析
練習說明
- 填入亞利桑那州鳳凰城的時間;由於是 Mountain Standard Time,位移為 UTC -07:00。
- 填入吐瓦魯的時間;該地比 UTC 早 12 小時。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
DECLARE
@OlympicsClosingUTC DATETIME2(0) = '2016-08-21 23:00:00';
SELECT
-- Fill in 7 hours back and a '-07:00' offset
___(DATEADD(HOUR, -___, @OlympicsClosingUTC), '___') AS PhoenixTime,
-- Fill in 12 hours forward and a '+12:00' offset.
___(DATEADD(HOUR, ___, @OlympicsClosingUTC), '___') AS TuvaluTime;