Отрегулируйте часовой пояс даты так, чтобы был точный час (не просто добавьте смещение в конце) - PullRequest
0 голосов
/ 30 ноября 2018

Сложно сказать, но легко показать:

select getutcdate() AT TIME ZONE 'UTC' 
^ returns 2018-11-30 01:13:30.293 +00:00

select getutcdate() AT TIME ZONE 'UTC' AT TIME ZONE 'US Eastern Standard Time'
^returns 2018-11-29 20:13:30.293 -05:00

Вместо указанного выше настроенного формата местного времени мне нужно его напечатать:

2018-11-29 15:13:30.293  (hour adjusted - no offset)

спасибо!

Ответы [ 2 ]

0 голосов
/ 30 ноября 2018

Попробуйте это:

select getutcdate() AT TIME ZONE 'UTC' 

select getutcdate() AT TIME ZONE 'UTC' AT TIME ZONE 'US Eastern Standard Time'

select CONVERT(datetime2, getutcdate() AT TIME ZONE 'UTC' AT TIME ZONE 'US Eastern Standard Time', 1)

enter image description here

0 голосов
/ 30 ноября 2018

В ВРЕМЕНИ ЗОНА возвращает значение DateTimeOffset .

Вы можете либо привести его к другому типу DateTime, либо (в большинстве случаев лучше) выполнить форматирование на стороне клиента.

...