DECLARE --Without TZOffsets: @UTC DATETIME2(3) = GETUTCDATE() ,@CET DATETIME2(3) = GETDATE() --Will only work on a local SQL Server instance, since Azure SQL Servers are on UTC time zone by default. SELECT @UTC AS [UTC] ,@CET AS [CET] ,@UTC AT TIME ZONE 'UTC' AS [UTCwithTZ] ,@CET AT TIME ZONE 'Central European Standard Time' AS [CETwithTZ] ,DATEADD(MINUTE,DATEPART(TZOFFSET,@UTC AT TIME ZONE 'Central European Standard Time'),@UTC) AS [UTC_AS_CET] ,DATEADD(MINUTE,DATEPART(TZOFFSET,@UTC AT TIME ZONE 'Central European Standard Time'),@UTC) AT TIME ZONE 'Central European Standard Time' AS [UTC_AS_CETwithTZ] ,DATEADD(MINUTE,0-DATEPART(TZOFFSET,@CET AT TIME ZONE 'Central European Standard Time'),@CET) AS [CET_AS_UTC] ,DATEADD(MINUTE,0-DATEPART(TZOFFSET,@CET AT TIME ZONE 'Central European Standard Time'),@CET) AT TIME ZONE 'UTC' AS [CET_AS_UTCwithTZ] --Summer time: ,DATEADD(MINUTE,DATEPART(TZOFFSET,DATEADD(MONTH,2,@UTC) AT TIME ZONE 'Central European Standard Time'),DATEADD(MONTH,1,@UTC)) AT TIME ZONE 'Central European Standard Time' AS [SummerTime] --Winter time: ,DATEADD(MINUTE,DATEPART(TZOFFSET,DATEADD(MONTH,6,@UTC) AT TIME ZONE 'Central European Standard Time'),DATEADD(MONTH,6,@UTC)) AT TIME ZONE 'Central European Standard Time' AS [WinterTime]