Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

В числовом поле, содержится дата...


Игорь М ©   (2004-01-30 14:24:00) 

Есть поле числовое, в нём содержится число с 9 цифр, означающее дату. Пример:сейчас 29 января 2004г. 13-30, в поле этом эта дата фигурирует примерно так- 759850245.Так вот, как перевести это 9-ти значное число в поле даты ?В качестве примера могу привести ещё одно сопоставление сейчас 14 января 1980 г , 14-12 эта дата записываеца в числовое поле уже,как 7-ми значное число 2470285.Если есть какие соображения, то с удовольствием прочту их.


Игорь М   (2004-02-02 10:36:00) [1]

Большое спасибо. То что надо !


ZrenBy   (2004-01-30 15:40:00) [2]

Зачем? Это я так, для примера.


var st : SYSTEMTIME;
ft : FILETIME;
li : Int64;
MyDate : Integer;
begin
MyDate := 759850245;

ZeroMemory(@st,SizeOf(st));
st.wYear := 1980; st.wMonth := 1; st.wDay := 1;

SystemTimeToFileTime(st,ft);
li := PInt64(@ft)^ + Int64(MyDate)*10000000;
ft := PFILETIME(@li)^;
FileTimeToSystemTime(ft,st);
Application.MessageBox(PChar(FormatDateTime("dd.mm.yyyy hh:nn:ss",
EncodeDate(st.wYear,st.wMonth,st.wDay)+
EncodeTime(st.wHour,st.wMinute,st.wSecond,st.wMilliseconds))),
"",0);


Игорь М   (2004-01-30 15:30:00) [3]

А чтобы команду такую подавать (select dateadd(ss,759850245,"19800101"), то нужно MS SQL себе ставить ?


ZrenBy   (2004-01-30 14:50:00) [4]

Скорее всего это число секунд с 1 января 1980 года

select dateadd(ss,759850245,"19800101")

получаем

2004-01-29 13:30:45.000


Наверх

Титульная страница Поиск, карта сайта Написать письмо