Cambiar el desfase de una fecha
Podemos usar la función SWITCHOFFSET() para cambiar la zona horaria de una fecha de tipo DATETIME, DATETIME2 o DATETIMEOFFSET, o de una cadena de fecha válida. SWITCHOFFSET() recibe dos parámetros: la fecha o cadena de entrada y el desfase de la zona horaria. Devuelve la hora en esa nueva zona, así que las 3:00 a. m. en horario de verano del Este pasarán a ser las 2:00 a. m. en horario de verano Central.
Los Juegos Olímpicos de Verano de 2016 en Río de Janeiro empezaron a las 11 p. m. UTC el 8 de agosto de 2016. Partiendo de una cadena con esa fecha y hora, podemos ver qué hora era en otros lugares.
Este ejercicio forma parte del curso
Análisis de series temporales en SQL Server
Instrucciones del ejercicio
- Completa la llamada de función adecuada para Brasilia (Brasil).
- Completa la llamada de función y la zona horaria adecuadas para Chicago (Illinois). En agosto, Chicago está 2 horas por detrás de la hora estándar de Brasilia.
- Completa la llamada de función y la zona horaria adecuadas para Nueva Delhi (India). India no aplica el horario de verano, así que en agosto, Nueva Delhi está 8 horas y media por delante de la hora estándar de Brasilia. Ten en cuenta, al calcular zonas horarias, que Brasilia y Nueva Delhi están a lados opuestos de UTC.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
DECLARE
@OlympicsUTC NVARCHAR(50) = N'2016-08-08 23:00:00';
SELECT
-- Fill in the time zone for Brasilia, Brazil
___(@OlympicsUTC, '-03:00') AS BrasiliaTime,
-- Fill in the time zone for Chicago, Illinois
___(@OlympicsUTC, ___) AS ChicagoTime,
-- Fill in the time zone for New Delhi, India
___(@OlympicsUTC, '+___') AS NewDelhiTime;