Zacznij terazZacznij za darmo

Konwersja do daty z przesunięciem

Oprócz funkcji SWITCHOFFSET() możemy użyć TODATETIMEOFFSET(), aby przekształcić istniejącą datę w typ daty z przesunięciem. Jeśli czas wyjściowy jest w UTC, należy go skorygować o odpowiednią strefę czasową, a następnie dodać przesunięcie. Korekcję strefy czasowej wykonuje się, dodając lub odejmując godziny (i minuty) ręcznie.

Ceremonia zamknięcia Letnich Igrzysk Olimpijskich 2016 w Rio de Janeiro rozpoczęła się o 23:00 UTC, 21 sierpnia 2016 roku. Wychodząc od ciągu znaków zawierającego tę datę i godzinę, możemy sprawdzić, która godzina była wtedy w innych miejscach na świecie. W Phoenix w Arizonie obowiązuje Mountain Standard Time, czyli UTC -7 przez cały rok. Archipelag Tuvalu ma własną strefę czasową – 12 godzin przed UTC.

To ćwiczenie jest częścią kursu

Analiza szeregów czasowych w SQL Server

Zobacz kurs

Instrukcje do ćwiczenia

  • Podaj czas w Phoenix w Arizonie – jako Mountain Standard Time jest to UTC -07:00.
  • Podaj czas dla Tuvalu, które jest 12 godzin przed UTC.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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;
Edytuj i uruchom kod