Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2009.04.05;
Скачать: [xml.tar.bz2];

Вниз

Нужно преобразовать в формат 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.006 c
15-1233845470
Strate
2009-02-05 17:51
2009.04.05
Обеспечить безопасность сохранения данных


4-1207672562
TCrash
2008-04-08 20:36
2009.04.05
Перечень дисков


15-1233633075
VirEx
2009-02-03 06:51
2009.04.05
Ветряк


2-1235038504
UlLucifer
2009-02-19 13:15
2009.04.05
Кнопки


15-1233170938
XeON
2009-01-28 22:28
2009.04.05
Какой язык использовать?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский