Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 вопрос про UTC  [new]
Wizandr
Member

Откуда: Империя Добра
Сообщений: 37033
у меня есть столбец InsrtDate с типом datetime в который пишутся данные с помощью функции GetUtcDate()
что бы привести к нормальному времени в запросах, использую Dateadd(hour,3,InsrtDate)
однако если время переведут, то нужно будет менять 3 на другое значение.
как бы так правильно сделать что бы при переводе времени ничего не нужно было делать и все работало правильно?
9 фев 15, 11:43    [17237366]     Ответить | Цитировать Сообщить модератору
 Re: вопрос про UTC  [new]
Glory
Member

Откуда:
Сообщений: 104760
Вычислить разницу между GetUtcDate() и GetDate() ?
9 фев 15, 11:48    [17237410]     Ответить | Цитировать Сообщить модератору
 Re: вопрос про UTC  [new]
хмхмхм
Guest
Wizandr,

а вы уверены, что дата и время, например, 1985 года конвертируется корректно?

автор
как бы так правильно сделать что бы при переводе времени ничего не нужно было делать и все работало правильно?

увы, никак. Более того бывают еще и пояса часовые в стране(ах) меняют.
9 фев 15, 11:51    [17237440]     Ответить | Цитировать Сообщить модератору
 Re: вопрос про UTC  [new]
Wizandr
Member

Откуда: Империя Добра
Сообщений: 37033
Glory
Вычислить разницу между GetUtcDate() и GetDate() ?


точно!
спасибо
9 фев 15, 11:52    [17237446]     Ответить | Цитировать Сообщить модератору
 Re: вопрос про UTC  [new]
Wizandr
Member

Откуда: Империя Добра
Сообщений: 37033
хмхмхм
Wizandr,

а вы уверены, что дата и время, например, 1985 года конвертируется корректно?

автор
как бы так правильно сделать что бы при переводе времени ничего не нужно было делать и все работало правильно?

увы, никак. Более того бывают еще и пояса часовые в стране(ах) меняют.


по идее GetDate() учитывает текущий часовой пояс
9 фев 15, 11:53    [17237453]     Ответить | Цитировать Сообщить модератору
 Re: вопрос про UTC  [new]
хмхмхм
Guest
Wizandr
хмхмхм
Wizandr,

а вы уверены, что дата и время, например, 1985 года конвертируется корректно?

пропущено...

увы, никак. Более того бывают еще и пояса часовые в стране(ах) меняют.


по идее GetDate() учитывает текущий часовой пояс


Да, но это только в том случае, если у вас все сервера находятся в одном часовом поясе.
9 фев 15, 11:55    [17237476]     Ответить | Цитировать Сообщить модератору
 Re: вопрос про UTC  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8316
Не только в одном часовом поясе, но и в одном государстве.
9 фев 15, 11:59    [17237510]     Ответить | Цитировать Сообщить модератору
 Re: вопрос про UTC  [new]
Crimean
Member

Откуда:
Сообщений: 13148
по-моему - перейти на datetimeoffset. и всегда указывать его (offset)
потому как TZ сами по себе - та еще штука
а вот получить из datetimeoffset utc время вы сможете (1) и сказать какое было локальное время (2) и перевести в любое другое время в случае указания другого offset (3) - также не составит труда
9 фев 15, 13:46    [17238386]     Ответить | Цитировать Сообщить модератору
 Re: вопрос про UTC  [new]
super-code
Member

Откуда:
Сообщений: 244
Создается таблица, в которой указывается: для какого часового пояса, в какой период, какое смещение часов было. Это таблица джойнится с твоим временем, и получаешь дату в локальном времени.
9 фев 15, 14:26    [17238649]     Ответить | Цитировать Сообщить модератору
 Re: вопрос про UTC  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31779
super-code
Создается таблица, в которой указывается: для какого часового пояса, в какой период, какое смещение часов было.
В одном часовом поясе в одно время могут быть разные смещения. Написали уже тут про разные правила для разных местностей (государств, хотя бы)
10 фев 15, 00:24    [17241557]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить