CommencerCommencez gratuitement

Conversion en date avec décalage horaire

En plus de SWITCHOFFSET(), on peut utiliser TODATETIMEOFFSET() pour convertir une date existante en un type de date avec décalage horaire. Si notre heure de départ est en UTC, il faut d’abord corriger le fuseau horaire puis ajouter un décalage. Pour corriger le fuseau horaire, on peut ajouter ou soustraire des heures (et des minutes) manuellement.

La cérémonie de clôture des Jeux olympiques d’été 2016 à Rio de Janeiro a commencé à 23 h UTC le 21 août 2016. À partir d’une chaîne contenant cette date et cette heure, voyons à quelle heure il était dans d’autres lieux. Pour l’heure à Phoenix, en Arizona, vous savez qu’ils observent la Mountain Standard Time, soit UTC -7 toute l’année. L’archipel de Tuvalu a son propre fuseau, qui est 12 heures en avance sur l’UTC.

Cet exercice fait partie du cours

<cours>Analyse de séries temporelles dans SQL Server</cours>
Voir le cours

Instructions de l’exercice

  • Renseignez l’heure à Phoenix, en Arizona, qui, en Mountain Standard Time, était UTC -07:00.
  • Renseignez l’heure pour Tuvalu, qui est 12 heures en avance sur l’UTC.

Exercice interactif pratique

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

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