Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Игорь_UUS Member Откуда: г. Екатеринбург Сообщений: 680 |
Добрый день. Есть ли "нормальное" решение прибавить к GetUTCDATE() так называемый UTCoffset (NVARCHAR(6) = '+05:00') что-то типа: DECLARE @UTCoffset NVARCHAR(6) = '+05:00' SELECT GetUTCDATE() + @UTCoffset |
28 май 19, 15:03 [21895820] Ответить | Цитировать Сообщить модератору |
Посетитель Member Откуда: Сообщений: 1210 |
todatetimeoffset? |
||
28 май 19, 15:07 [21895828] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31779 |
|
||
28 май 19, 15:11 [21895835] Ответить | Цитировать Сообщить модератору |
Игорь_UUS Member Откуда: г. Екатеринбург Сообщений: 680 |
Наверное не правильно выразился... мне нужно к DATETIME прибавить временную зону... т.е. DECLARE @D DATETIME = '2019-05-28 13:47:15.240' + '+05:00' = '2019-05-28 18:47:15.240' мне нужно получить дату время в DATETIME а не в datetimeoffset |
28 май 19, 16:53 [21895935] Ответить | Цитировать Сообщить модератору |
alexeyvg Member Откуда: Moscow Сообщений: 31779 |
|
||
28 май 19, 17:11 [21895946] Ответить | Цитировать Сообщить модератору |
Игорь_UUS Member Откуда: г. Екатеринбург Сообщений: 680 |
Спасибо! Как бы то... но опять я не правильно описываю "головоломку". Подскажите пожалуйста, как мне зная время и временную зону высчитать UTC время... суть какая Допустим мне нужно выполнить задание в "12:00" по времени филиала, зная временную зону филиала "+03:00", мне нужно получить время в UTC т.е. время выполнение задание по UTC будет "09:00" если мне делать: DECLARE @D DATETIME = CONVERT(DATETIME, '30.05.2019 12:00:00', 104) SELECT SWITCHOFFSET(@D, '+03:00') то время у меня сдвигается в большую сторону... подскажите как тут правильно поступить? |
||||
29 май 19, 12:04 [21896553] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47047 |
Для DATETIME это так: DECLARE @D DATETIME='20190530 12:00:00'; SELECT DATEADD(HOUR,-3,@D); |
||||
29 май 19, 12:28 [21896589] Ответить | Цитировать Сообщить модератору |
invm Member Откуда: Москва Сообщений: 9633 |
declare @d datetime = '20190530 12:00'; select @d, a.tz, cast(switchoffset(todatetimeoffset(@d, a.tz), '+00:00') as datetime) from (select datepart(tzoffset, sysdatetimeoffset())) a(tz); |
||
29 май 19, 12:34 [21896599] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47047 |
DECLARE @D DATETIME='20190530 12:00:00'; SELECT @D-CAST('03:00'AS TIME);У invm круче, конечно ![]() |
29 май 19, 13:23 [21896680] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |