Главная страница
    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.46 MB
Время: 0.006 c
2-1234764600
Abcdef123
2009-02-16 09:10
2009.04.05
TDBCombobox. Как НЕ позволить вводить новое значение?


10-1153589543
Andrey Kad.
2006-07-22 21:32
2009.04.05
Границы ячейки в Excel


15-1233658361
dark_volk
2009-02-03 13:52
2009.04.05
FastMM4


8-1192560705
MikeZ
2007-10-16 22:51
2009.04.05
Воспроизведение WAV-файла с определенной позиции


2-1234282972
Dr. Genius
2009-02-10 19:22
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский