![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Перевод юниксовского времени в нормальное виндовое
f0rm © (2002-01-15 12:32:00)Как осуществить сабж, например 3c425e18 это 14/01/2002
Anatoly Podgoretsky (2002-01-15 17:59:00) [1]Тогда UnixTime := StrToInt("$" + edit1.text) и далее по приведенныи рекомендациям.
f0rm (2002-01-15 17:23:00) [2]А если нужно передать дату из edit1.text ?
troits (2002-01-15 16:43:00) [3]program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils, Windows;
function UnixToWindows(UnixTime: LongInt): TDateTime;
begin
result := EncodeDate(1970, 1, 1);
result := result + UnixTime / (60 * 60 * 24);
end;
var
ToDate: TDateTime;
wYear, wMonth, wDay: word;
begin
ToDate := UnixToWindows($3c425e18);
DecodeDate(ToDate, wYear, wMonth, wDay);
writeln("Year = ", wYear);
writeln("Month = ", wMonth);
writeln("Day = ", wDay);
readln;
end.
f0rm (2002-01-15 16:34:00) [4]Огромное спасибо! Но, когда я пихаю в функцию 3c425e18, то дельфи кричит об ошибке!
troits (2002-01-15 15:50:00) [5]В юниксе время - число секунд с 1.1.1970
Вот вариант:
function UnixToWindows(UnixTime: LongInt): TDateTime;
begin
result := EncodeDate(1970, 1, 1);
result := result + UnixTime / (60 * 60 * 24);
end;