Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.04.05;
Скачать: CL | DM;

Вниз

Нужно преобразовать в формат TDateTime.   Найти похожие ветки 

 
Alexandra   (2008-08-06 14:46) [0]

подскажите, Есть формат даты:
The number of seconds since 0000 Universal Time Code (UTC) 1970
Нужно преобразовать в формат TDateTime.
Подскажите как это сделать в MS SQL?
спасибо.


 
Medbe}I{onok XML ©   (2008-08-06 14:49) [1]

а на mssql есть тип tdatetime?


 
sniknik ©   (2008-08-06 15:04) [2]

> The number of seconds since 0000 Universal Time Code (UTC) 1970
уточни, у тебя точно дата представлена количество секунд с 1970г (как написано) или гринвичь? (GETUTCDATE()),
если секунды то очень просто, DATEADD + BOL (типа F1 для mssql), добавляешь их к основе (1970г) получаешь необходимое.


 
Alexandra   (2008-08-06 15:27) [3]

> sniknik
Да, у меня точно этот формат .спасибо попробую..


 
Alexandra   (2008-08-07 14:16) [4]

>sniknik
у меня получилось время это по гринвичу,
а нам надо локальное. И я не могу просто прибавить или отнять часы, т к информация с разных городов. Теперь что подскажите делать ?


 
Anatoly Podgoretsky ©   (2008-08-07 14:51) [5]

По Гринчичу или UTC


 
sniknik ©   (2008-08-07 17:28) [6]

с гринвича локальный просто так не получить... как раз таки потому, что "информация с разных городов", у каждого разный часовой пояс, переход на зимнее время то делается то нет, а когдато вообще не делалось...

просто можно только "привести" время к своему, т.е. сколько было по местному тогда когда "тот" город сохранил свое время.
если без учета, что во время сохранения действовало "зимнее" время, то добавить к вашему разницу в минутах - DATEDIFF(mi, GETUTCDATE(), GETDATE()).
... или отнять? сам смотри.
и еще посмотри на sql.ru, видел там когдато более сложные процедуры, учитывающие эти переходы/не переходы времени.


 
Alexandra   (2008-08-11 09:35) [7]

спасибо!


 
Anatoly Podgoretsky ©   (2008-08-11 16:32) [8]

Не надо приводить к своему, как раз для этого, для независимости и существует UTC.
UTC <> GMT - хотя в Линуксовских серверах почему то ставят знак равенства, пишут GMT но читать надо UTC, но можно и ошибиться, если источник с нулевого меридиана.

В Виндоус вся работа ведется в основном с UTC, оно же System, которое потом преобразовывается в локальное (Local) но его легко можно перевести в любую временную зону, а вот обратно нет.



Страницы: 1 вся ветка

Текущий архив: 2009.04.05;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.014 c
15-1233835334
Ega23
2009-02-05 15:02
2009.04.05
Знатоки JavaScript - посоветуйте


15-1233483473
killaTank
2009-02-01 13:17
2009.04.05
Авторские права


15-1233644188
Дмитрий С
2009-02-03 09:56
2009.04.05
HTTP: basic авторизация под SSL


15-1233414772
axis_of_evil
2009-01-31 18:12
2009.04.05
переключение сетевых настроек


2-1234540803
Krozzz
2009-02-13 19:00
2009.04.05
Скопировать данные с помощью API функций