我有一个(时间戳)MSSQL数据库,带有UTC的时间戳。我想获取特定时区的日期
以下显示问题
DECLARE @TS DateTime2='2020-02-08 23:00:00'
SELECT CAST((@TS at time zone 'W. Europe Standard Time') as date) as StartDate, @TS as StartTimeStampUTC, @TS at time zone 'W. Europe Standard Time' as StartTimeStampLocalTime
StartTimeStampUTC:2020-02-08 23:00:00.0000000StartTimeStampLocalTime:2020-02-08 23:00:00.0000000 +01:00开始日期:2020-02-08
我预计StartDate值为2020-02-09,因为本地时间是2020-02-08 23:00 + 01:00 = 2020-02-09 00:00
如何获得正确的日期?
这似乎可以解决问题:
SELECT CAST(dateadd(hour,DATEdiff(hour,@TS AT TIME ZONE 'W. Europe Standard Time',@TS ),@TS) as date) as StartDate
答案现在是预期的2020-02-09