CommencezCommencez gratuitement

Modifier le décalage d'une date

Vous pouvez utiliser la fonction SWITCHOFFSET() pour changer le fuseau horaire d'une date de type DATETIME, DATETIME2 ou DATETIMEOFFSET, ou encore d'une chaîne de caractères représentant une date valide. SWITCHOFFSET() accepte deux paramètres : la date ou la chaîne en entrée, et le décalage horaire. Elle retourne l'heure dans le nouveau fuseau, donc 3 h 00 à l'heure avancée de l'Est deviendra 2 h 00 à l'heure avancée du Centre.

Les Jeux olympiques d'été de 2016 à Rio de Janeiro ont commencé à 23 h UTC le 8 août 2016. En partant d'une chaîne contenant cette date et cette heure, voyons à quelle heure cela correspondait dans d'autres régions.

Cette activité fait partie du cours

Analyse de séries chronologiques dans SQL Server

Voir le cours

Instructions de l’exercice

  • Inscrivez l'appel de fonction approprié pour Brasilia, au Brésil.
  • Inscrivez l'appel de fonction et le fuseau horaire appropriés pour Chicago, en Illinois. En août, Chicago est 2 heures derrière l'heure normale de Brasilia.
  • Inscrivez l'appel de fonction et le fuseau horaire appropriés pour New Delhi, en Inde. L'Inde n'applique pas l'heure avancée, donc en août, New Delhi est 8 h 30 en avance sur l'heure normale de Brasilia. Notez, lors du calcul des fuseaux horaires, que Brasilia et New Delhi se trouvent de part et d'autre de l'UTC.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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;
Modifier et exécuter le code